protected override bool MouseDown(Event evt, WindowState state) { m_Target = PickerUtils.FirstPickedElementOfType <TrackResizeHandle>(); if (m_Target == null) { return(false); } m_NumberOfContributingTracks = 1; var selectedTracks = SelectionManager.SelectedTrackGUI().ToList(); if (selectedTracks.Any() && selectedTracks.Contains(m_Target.trackGUI)) //resize all selected tracks { var allTrackGui = state.GetWindow().treeView.allTrackGuis; m_TracksToResize = allTrackGui.OfType <TimelineTrackGUI>().Where(i => SelectionManager.Contains(i.track)).ToList(); m_NumberOfContributingTracks += m_TracksToResize.IndexOf(m_Target.trackGUI); } else { m_TracksToResize = new List <TimelineTrackGUI> { m_Target.trackGUI } }; m_Captured = true; state.AddCaptured(this); return(true); }
protected override bool MouseDown(Event evt, WindowState state) { m_Target = PickerUtils.FirstPickedElementOfType <InlineCurveResizeHandle>(); if (m_Target == null) { return(false); } m_Captured = true; m_CapturedHeight = TimelineWindowViewPrefs.GetInlineCurveHeight(m_Target.trackGUI.track); m_CaptureMouseYPos = GUIUtility.GUIToScreenPoint(Event.current.mousePosition).y; state.AddCaptured(this); return(true); }
protected override bool DoubleClick(Event evt, WindowState state) { if (evt.button != 0) { return(false); } var trackGUI = PickerUtils.FirstPickedElementOfType <TimelineTrackBaseGUI>(); if (trackGUI == null) { return(false); } // Double-click is only available for AnimationTracks: it conflicts with selection mechanics on other tracks if ((trackGUI.track as AnimationTrack) == null) { return(false); } return(EditTrackInAnimationWindow.Do(state, trackGUI.track)); }