MouseIsOver()

From Warcraft Wiki
Jump to navigation Jump to search
This function is implemented in FrameXML/UIParent.lua.

Determines whether or not the mouse is over the specified frame.

isOver = MouseIsOver(frame, topOffset, bottomOffset, leftOffset, rightOffset);

Parameters

Arguments

(frame, [topOffset, bottomOffset, leftOffset, rightOffset])
frame
Frame - The frame (or frame-derived object such as Buttons, etc) to test with
topOffset
(optional) Number - distance from the top to include in calculations
bottomOffset
(optional) Number - distance from the bottom to include in calculations
leftOffset
(optional) Number - distance from the left to include in calculations
rightOffset
(optional) Number - distance from the right to include in calculations

Returns

isOver
Boolean - A true value if the mouse is over the frame, false otherwise.

Example

You can determine whether or not the mouse is over the minimap using the below.

if (MouseIsOver(MinimapCluster)) then
   -- do something
end

Details

It doesn't matter if the frame is hidden or not, if the mouse would be over it when you :Show() it then this function does return true.
Most importantly, it will still return true if the frame in question has its mouse response disabled using EnableMouse(false). Hence, MouseIsOver is what you need for rollover effects not interfering with the player's world clicks.