Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }