Exemple #1
0
 public void OnSetValue(IEnumerable <ITimelineItem> items, double endValue, WindowState state)
 {
     foreach (var item in items.OfType <ITrimmable>())
     {
         EditMode.BeginTrim(item, TrimEdge.End);
         EditMode.TrimEnd(item, endValue, stretch);
         EditMode.FinishTrim();
     }
     state.UpdateRootPlayableDuration(state.editSequence.duration);
 }
Exemple #2
0
            public void OnDrag(double endValue, WindowState state)
            {
                var trimValue = endValue;

                trimValue = TimelineWindow.instance.state.SnapToFrameIfRequired(trimValue);

                foreach (var item in grabbedItems)
                {
                    EditMode.TrimEnd(item, trimValue, stretch);
                }
                state.UpdateRootPlayableDuration(state.editSequence.duration);
            }
Exemple #3
0
        public static void TrimClipWithEditMode(TimelineClip clip, TrimEdge edge, double time)
        {
            var clipItem = ItemsUtils.ToItem(clip);

            EditMode.BeginTrim(clipItem, edge);
            if (edge == TrimEdge.Start)
            {
                EditMode.TrimStart(clipItem, time);
            }
            else
            {
                EditMode.TrimEnd(clipItem, time, false);
            }
            EditMode.FinishTrim();
        }
Exemple #4
0
            public void OnAttractedEdge(IAttractable attractable, ManipulateEdges manipulateEdges, AttractedEdge edge, double time)
            {
                var clipGUI = attractable as TimelineClipGUI;

                if (clipGUI == null)
                {
                    return;
                }

                var clipItem = ItemsUtils.ToItem(clipGUI.clip);

                if (manipulateEdges == ManipulateEdges.Right)
                {
                    bool affectTimeScale = Event.current.modifiers == EventModifiers.Shift; // TODO Do not use Event.current from here.
                    EditMode.TrimEnd(clipItem, time, affectTimeScale);
                }
                else if (manipulateEdges == ManipulateEdges.Left)
                {
                    EditMode.TrimStart(clipItem, time);
                }
            }
            public void OnAttractedEdge(IAttractable attractable, ManipulateEdges manipulateEdges, AttractedEdge edge, double time)
            {
                var clipGUI = attractable as TimelineClipGUI;

                if (clipGUI == null)
                {
                    return;
                }

                var clipItem = ItemsUtils.ToItem(clipGUI.clip);

                if (manipulateEdges == ManipulateEdges.Right)
                {
                    bool affectTimeScale = IsAffectingTimeScale(clipGUI.clip);
                    EditMode.TrimEnd(clipItem, time, affectTimeScale);
                }
                else if (manipulateEdges == ManipulateEdges.Left)
                {
                    bool affectTimeScale = IsAffectingTimeScale(clipGUI.clip);
                    EditMode.TrimStart(clipItem, time, affectTimeScale);
                }
            }