コード例 #1
0
        public void TrimEnd(ITrimmable item, double time, bool affectTimeScale)
        {
            var prevEnd = item.end;

            if (m_BlendDuration > 0.0)
            {
                time = Math.Max(time, item.start + m_BlendDuration);
            }

            item.SetEnd(time, affectTimeScale);

            var offset = item.end - prevEnd;

            foreach (var timelineClip in m_NextItems)
            {
                timelineClip.start += offset;
            }
        }
コード例 #2
0
        public void TrimEnd(ITrimmable item, double time, bool affectTimeScale)
        {
            time = Math.Min(Math.Max(time, m_Min), m_Max);

            if (m_ItemToBeReplaced != null)
            {
                if (!m_TrimReplace)
                {
                    m_TrimReplace = item.end <= m_ItemToBeReplaced.start;
                }
            }

            item.SetEnd(time, affectTimeScale);

            if (m_ItemToBeReplaced != null && m_TrimReplace)
            {
                var nextStart = Math.Max(item.end, m_ClipOriginalEdgeValue);
                m_ItemToBeReplaced.SetStart(nextStart);
            }
        }
コード例 #3
0
        public void TrimStart(ITrimmable item, double time)
        {
            time = Math.Min(Math.Max(time, m_Min), m_Max);

            if (m_ItemToBeReplaced != null)
            {
                if (!m_TrimReplace)
                {
                    m_TrimReplace = item.start >= m_ItemToBeReplaced.end;
                }
            }

            time = Math.Max(time, 0.0);

            item.SetStart(time);

            if (m_ItemToBeReplaced != null && m_TrimReplace)
            {
                var prevEnd = Math.Min(item.start, m_ClipOriginalEdgeValue);
                m_ItemToBeReplaced.SetEnd(prevEnd, false);
            }
        }
コード例 #4
0
 public void TrimEnd(ITrimmable item, double time, bool affectTimeScale)
 {
     time = Math.Min(Math.Max(time, m_Min), m_Max);
     item.SetEnd(time, affectTimeScale);
 }