public void AddMovie(Movie movie) { movie.SequencialNo = _movies.Count; Add(movie); if (!_queue.Queue[_queue.QueueCount - 1].IsDummy) { return; } var lastMovie = _queue.Queue.LastOrDefault(m => !m.IsDummy); var index = _queue.Queue.IndexOf(lastMovie); var nmvm = new MovieBriefViewModel(movie, _eventAggregator); var dummyView = _queue.Queue[index + 1]; nmvm.Scale = dummyView.Scale; nmvm.NewScale = dummyView.NewScale; nmvm.CenterX = dummyView.CenterX; nmvm.NewCenterX = dummyView.NewCenterX; nmvm.CenterY = dummyView.CenterY; nmvm.NewCenterY = dummyView.NewCenterY; nmvm.Opacity = dummyView.Opacity; nmvm.NewOpacity = dummyView.NewOpacity; nmvm.ZIndex = dummyView.ZIndex; nmvm.NewZIndex = dummyView.NewZIndex; _queue.Queue[index + 1] = nmvm; _rightNextIndex++; }
public void InsertAtRight(MovieBriefViewModel newMovieBrief) { if (_queue.Count < _capacity) { newMovieBrief.CenterX = _factorsMap[_queue.Count].CenterX; newMovieBrief.CenterY = _factorsMap[_queue.Count].CenterY; newMovieBrief.Scale = _factorsMap[_queue.Count].Scale; newMovieBrief.Opacity = _factorsMap[_queue.Count].Opacity; newMovieBrief.ZIndex = _factorsMap[_queue.Count].ZIndex; } else { for (var i = _queue.Count - 1; i > 0; i--) { _queue[i].NewCenterX = _factorsMap[i - 1].CenterX; _queue[i].NewCenterY = _factorsMap[i - 1].CenterY; _queue[i].NewScale = _factorsMap[i - 1].Scale; _queue[i].NewOpacity = _factorsMap[i - 1].Opacity; _queue[i].NewZIndex = _factorsMap[i - 1].ZIndex; } newMovieBrief.CenterX = _factorsMap[_queue.Count - 1].CenterX; newMovieBrief.CenterY = _factorsMap[_queue.Count - 1].CenterY; newMovieBrief.Scale = _factorsMap[_queue.Count - 1].Scale; newMovieBrief.Opacity = _factorsMap[_queue.Count - 1].Opacity; newMovieBrief.ZIndex = _factorsMap[_queue.Count - 1].ZIndex; } Insert(newMovieBrief, _queue.Count, 0); }
public void InsertAtRightHalf(MovieBriefViewModel newMovieBrief) { if (_queue.Count < _capacity) { newMovieBrief.CenterX = _factorsMap[_queue.Count].CenterX; newMovieBrief.CenterY = _factorsMap[_queue.Count].CenterY; newMovieBrief.Scale = _factorsMap[_queue.Count].Scale; newMovieBrief.Opacity = _factorsMap[_queue.Count].Opacity; newMovieBrief.ZIndex = _factorsMap[_queue.Count].ZIndex; } else { for (var i = _queue.Count - 1; i > _capacity / 2; i--) { _queue[i].NewCenterX = _factorsMap[i - 1].CenterX; _queue[i].NewCenterY = _factorsMap[i - 1].CenterY; _queue[i].NewScale = _factorsMap[i - 1].Scale; _queue[i].NewOpacity = _factorsMap[i - 1].Opacity; _queue[i].NewZIndex = _factorsMap[i - 1].ZIndex; _queue[i].SequencialNo = _queue[i - 1].SequencialNo; } newMovieBrief.CenterX = _factorsMap[_queue.Count - 1].CenterX; newMovieBrief.CenterY = _factorsMap[_queue.Count - 1].CenterY; newMovieBrief.Scale = _factorsMap[_queue.Count - 1].Scale; newMovieBrief.Opacity = _factorsMap[_queue.Count - 1].Opacity; newMovieBrief.ZIndex = _factorsMap[_queue.Count - 1].ZIndex; } _queue.RemoveAt(_capacity / 2); Insert(newMovieBrief, _queue.Count, 0); }
private void Insert(MovieBriefViewModel movieBrief, int insertIndex, int removeIndex) { _queue.Insert(insertIndex, movieBrief); if (_queue.Count > _capacity) { _queue.RemoveAt(removeIndex); } }
public void InsertAtLeft(MovieBriefViewModel movieBrief) { movieBrief.CenterX = _factorsMap[0].CenterX; movieBrief.CenterY = _factorsMap[0].CenterY; movieBrief.Scale = _factorsMap[0].Scale; movieBrief.Opacity = _factorsMap[0].Opacity; movieBrief.ZIndex = _factorsMap[0].ZIndex; for (var i = 0; i < _capacity - 1; i++) { _queue[i].NewCenterX = _factorsMap[i + 1].CenterX; _queue[i].NewCenterY = _factorsMap[i + 1].CenterY; _queue[i].NewScale = _factorsMap[i + 1].Scale; _queue[i].NewOpacity = _factorsMap[i + 1].Opacity; _queue[i].NewZIndex = _factorsMap[i + 1].ZIndex; } Insert(movieBrief, 0, _capacity); }
private void PopulateProcessQueue() { while (_queue.QueueCount < _queue.Capacity) { if (_rightNextIndex >= _movies.Count) { break; } var mvm = new MovieBriefViewModel(_movies[_rightNextIndex], _eventAggregator); _queue.InsertAtRight(mvm); _rightNextIndex++; } if (_queue.Queue.Any(m => !m.IsDummy)) { _currentIndex = 1; } }
public void InsertAtRightHalf(MovieBriefViewModel newMovieBrief) { if (_queue.Count < _capacity) { newMovieBrief.CenterX = _factorsMap[_queue.Count].CenterX; newMovieBrief.CenterY = _factorsMap[_queue.Count].CenterY; newMovieBrief.Scale = _factorsMap[_queue.Count].Scale; newMovieBrief.Opacity = _factorsMap[_queue.Count].Opacity; newMovieBrief.ZIndex = _factorsMap[_queue.Count].ZIndex; } else { for (var i = _queue.Count - 1; i > _capacity/2; i--) { _queue[i].NewCenterX = _factorsMap[i - 1].CenterX; _queue[i].NewCenterY = _factorsMap[i - 1].CenterY; _queue[i].NewScale = _factorsMap[i - 1].Scale; _queue[i].NewOpacity = _factorsMap[i - 1].Opacity; _queue[i].NewZIndex = _factorsMap[i - 1].ZIndex; _queue[i].SequencialNo = _queue[i - 1].SequencialNo; } newMovieBrief.CenterX = _factorsMap[_queue.Count - 1].CenterX; newMovieBrief.CenterY = _factorsMap[_queue.Count - 1].CenterY; newMovieBrief.Scale = _factorsMap[_queue.Count - 1].Scale; newMovieBrief.Opacity = _factorsMap[_queue.Count - 1].Opacity; newMovieBrief.ZIndex = _factorsMap[_queue.Count - 1].ZIndex; } _queue.RemoveAt(_capacity/2); Insert(newMovieBrief, _queue.Count, 0); }