public override void Init(IControl parent)
 {
     this.m_IsCaptured        = false;
     this.m_Ripple            = null;
     this.m_OriginalDuration  = 0.0;
     this.m_OriginalTimeScale = 0.0;
     this.m_UndoSaved         = false;
     this.m_MagnetEngine      = null;
     this.m_FrameSnap         = new FrameSnap();
     parent.MouseDown        += delegate(object target, Event evt, TimelineWindow.TimelineState state)
     {
         TimelineClipHandle timelineClipHandle = target as TimelineClipHandle;
         bool result;
         if (timelineClipHandle == null)
         {
             result = base.IgnoreEvent();
         }
         else
         {
             this.OnMouseDown(evt, state, timelineClipHandle);
             result = base.ConsumeEvent();
         }
         return(result);
     };
     parent.MouseUp += delegate(object target, Event evt, TimelineWindow.TimelineState state)
     {
         TimelineClipHandle timelineClipHandle = target as TimelineClipHandle;
         bool result;
         if (!this.m_IsCaptured || timelineClipHandle == null)
         {
             result = base.IgnoreEvent();
         }
         else
         {
             this.OnMouseUp(evt, state, timelineClipHandle);
             result = base.ConsumeEvent();
         }
         return(result);
     };
     parent.MouseDrag += delegate(object target, Event evt, TimelineWindow.TimelineState state)
     {
         this.m_OverlayText = "";
         this.m_OverlayStrings.Clear();
         TimelineClipHandle timelineClipHandle = target as TimelineClipHandle;
         bool result;
         if (!this.m_IsCaptured || timelineClipHandle == null)
         {
             result = base.IgnoreEvent();
         }
         else
         {
             this.OnMouseDrag(evt, state, timelineClipHandle);
             this.RefreshOverlayStrings(timelineClipHandle, state);
             if (Selection.get_activeObject() != null)
             {
                 EditorUtility.SetDirty(Selection.get_activeObject());
             }
             state.UpdateRootPlayableDuration(state.duration);
             result = base.ConsumeEvent();
         }
         return(result);
     };
     parent.Overlay += delegate(object target, Event evt, TimelineWindow.TimelineState state)
     {
         TimelineClipHandle timelineClipHandle = target as TimelineClipHandle;
         bool result;
         if (timelineClipHandle == null)
         {
             result = base.IgnoreEvent();
         }
         else
         {
             this.OnOverlay(evt, timelineClipHandle);
             result = base.ConsumeEvent();
         }
         return(result);
     };
 }
 public DragClipAttractionHandler(FrameSnap frameSnap)
 {
     this.m_FrameSnap = frameSnap;
 }