Singularity/Library/PackageCache/com.unity.2d.animation@7.0.10/Editor/SkinningModule/IMGUI/RectSlider.cs

39 lines
1.1 KiB
C#
Raw Permalink Normal View History

2024-05-06 14:45:45 -04:00
using UnityEngine;
namespace UnityEditor.U2D.Animation
{
internal class RectSlider
{
private static readonly int kRectSliderHashCode = "RectSlider".GetHashCode();
private Vector2 m_StartPosition = Vector2.zero;
private Vector2 m_Position = Vector2.zero;
internal Rect Do()
{
return Do(GUIUtility.GetControlID(kRectSliderHashCode, FocusType.Passive));
}
internal Rect Do(int controlID)
{
var eventType = Event.current.GetTypeForControl(controlID);
if (eventType == EventType.MouseDown)
{
m_StartPosition = ModuleUtility.GUIToWorld(Event.current.mousePosition);
m_Position = m_StartPosition;
}
if (eventType == EventType.Layout)
HandleUtility.AddDefaultControl(controlID);
m_Position = Slider2D.Do(controlID, m_Position);
var rect = new Rect();
rect.min = m_StartPosition;
rect.max = m_Position;
return rect;
}
}
}