playtest-unity/playtest/Library/PackageCache/com.unity.timeline@1.7.4/Editor/treeview/TimelineClipHandle.cs

54 lines
1.4 KiB
C#

using UnityEngine;
namespace UnityEditor.Timeline
{
class TimelineClipHandle : ILayerable
{
Rect m_Rect;
readonly TimelineClipGUI m_ClipGUI;
readonly TrimEdge m_TrimDirection;
readonly LayerZOrder m_ZOrder;
public Rect boundingRect
{
get { return m_ClipGUI.parent.ToWindowSpace(m_Rect); }
}
public TrimEdge trimDirection
{
get { return m_TrimDirection; }
}
public TimelineClipGUI clipGUI
{
get { return m_ClipGUI; }
}
public LayerZOrder zOrder
{
get { return m_ZOrder; }
}
public TimelineClipHandle(TimelineClipGUI theClipGUI, TrimEdge trimDirection)
{
m_TrimDirection = trimDirection;
m_ClipGUI = theClipGUI;
m_ZOrder = theClipGUI.zOrder.ChangeLayer(Layer.ClipHandles);
}
public void Draw(Rect clientRect, float width, WindowState state)
{
var handleRect = clientRect;
handleRect.width = width;
if (m_TrimDirection == TrimEdge.End)
handleRect.x = clientRect.xMax - width;
m_Rect = handleRect;
if (!TimelineWindow.instance.state.editSequence.isReadOnly)
EditorGUIUtility.AddCursorRect(handleRect, MouseCursor.SplitResizeLeftRight);
state.spacePartitioner.AddBounds(this, boundingRect);
}
}
}