WoW:API MouseIsOver: Difference between revisions

(Added a small note, that hidden/shown doesn't make a difference.)
m (Move page script moved page API MouseIsOver to API MouseIsOver without leaving a redirect)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{framexml}}
{{framexmlfunc|FrameXML/UIParent.lua}}
 
Determines whether or not the mouse is over the specified frame.
<center>'''MouseIsOver''' ''-Documentation by [[user:coder_1024|coder_1024]],[[user:KarlKFI|KarlKFI]]-''</center>


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


Determines whether or not the mouse is over the specified frame.
== Parameters ==
 
=== Arguments ===
----
;''Arguments''
 
:(frame, [topOffset, bottomOffset, leftOffset, rightOffset])
:(frame, [topOffset, bottomOffset, leftOffset, rightOffset])
:;frame : Frame - The frame 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


----
* frame (Frame) - The frame (or frame-derived object such as Buttons, etc) to test with
;''Results''
* topOffset (number) - distance from the top to include in calculations. optional
* bottomOffset (number) - distance from the bottom to include in calculations. optional
* leftOffset (number) - distance from the left to include in calculations. optional
* rightOffset (number) - distance from the right to include in calculations. optional


:isOver
=== Returns ===
:;isOver : Boolean - A <tt>true</tt> value if the mouse is over the frame, <tt>false</tt> otherwise.


----
* isOver ([[boolean]]) - A 'true' value if the mouse is over the frame, 'false<' otherwise.
;''Example''


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


Line 32: Line 25:
  end
  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.


Note: 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.

Latest revision as of 04:46, 15 August 2023

WoW API < MouseIsOver

"I" iconThis function is implemented in Lua here 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 (number) - distance from the top to include in calculations. optional
  • bottomOffset (number) - distance from the bottom to include in calculations. optional
  • leftOffset (number) - distance from the left to include in calculations. optional
  • rightOffset (number) - distance from the right to include in calculations. optional

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.