54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			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);
 | |
|         }
 | |
|     }
 | |
| }
 |