Ejemplo n.º 1
0
        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);
            }
        }