private void HandleRenderBreaksAdded(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { var collection = ViewModel.RecordedFrames; FrameRecordViewModel newFrame = null; FrameRecordViewModel previousFrame = null; if (collection.Count > 0) { newFrame = collection.Last(); } if (collection.Count > 1) { previousFrame = collection[collection.Count - 2]; } if (previousFrame != null && previousFrame.RenderBreaks.Count != newFrame.RenderBreaks.Count) { lineDrawingState = LineDrawingState.NeedsToDrawDiagonalLine; } bool needsNewLine = lineDrawingState == LineDrawingState.NeedsToDrawDiagonalLine || lineDrawingState == LineDrawingState.NeedsToCreateHorizontalLine; if (needsNewLine) { if (lineDrawingState == LineDrawingState.NeedsToDrawDiagonalLine) { lineDrawingState = LineDrawingState.NeedsToCreateHorizontalLine; } else if (lineDrawingState == LineDrawingState.NeedsToCreateHorizontalLine) { lineDrawingState = LineDrawingState.IsExtendingHorizontalLine; } AddLineFor(newFrame, previousFrame); } else { ExtendExistingLineFor(newFrame); } }
private void HandleRenderBreaksAdded(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { var collection = ViewModel.RecordedFrames; FrameRecordViewModel newFrame= null; FrameRecordViewModel previousFrame = null; if(collection.Count > 0) { newFrame = collection.Last(); } if(collection.Count > 1) { previousFrame = collection[collection.Count - 2]; } if (previousFrame != null && previousFrame.RenderBreaks.Count != newFrame.RenderBreaks.Count) { lineDrawingState = LineDrawingState.NeedsToDrawDiagonalLine; } bool needsNewLine = lineDrawingState == LineDrawingState.NeedsToDrawDiagonalLine || lineDrawingState == LineDrawingState.NeedsToCreateHorizontalLine; if (needsNewLine) { if(lineDrawingState == LineDrawingState.NeedsToDrawDiagonalLine) { lineDrawingState = LineDrawingState.NeedsToCreateHorizontalLine; } else if(lineDrawingState == LineDrawingState.NeedsToCreateHorizontalLine) { lineDrawingState = LineDrawingState.IsExtendingHorizontalLine; } AddLineFor(newFrame, previousFrame); } else { ExtendExistingLineFor(newFrame); } }