Get the rectangle last used by GUILayout for a control.
function OnGUI() { GUILayout.Button( "My button" ); if(Event.current.type == EventType.Repaint && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition )) { GUILayout.Label( "Mouse over!" ); } else { GUILayout.Label( "Mouse somewhere else" ); } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void OnGUI() { GUILayout.Button("My button"); if (Event.current.type == EventType.Repaint && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition)) GUILayout.Label("Mouse over!"); else GUILayout.Label("Mouse somewhere else"); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def OnGUI() as void: GUILayout.Button('My button') if (Event.current.type == EventType.Repaint) and GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition): GUILayout.Label('Mouse over!') else: GUILayout.Label('Mouse somewhere else')