Exemple #1
0
            internal void AddDiff(RenderTreeDiff diff)
            {
                var componentId = diff.ComponentId;

                if (!DiffsByComponentId.ContainsKey(componentId))
                {
                    DiffsByComponentId.Add(componentId, new List <RenderTreeDiff>());
                }
                DiffsByComponentId[componentId].Add(diff);
            }
            internal void AddDiff(RenderTreeDiff diff)
            {
                var componentId = diff.ComponentId;

                if (!DiffsByComponentId.ContainsKey(componentId))
                {
                    DiffsByComponentId.Add(componentId, new List <RenderTreeDiff>());
                }

                // Clone the diff, because its underlying storage will get reused in subsequent batches
                DiffsByComponentId[componentId].Add(new RenderTreeDiff(
                                                        diff.ComponentId,
                                                        new ArraySegment <RenderTreeEdit>(diff.Edits.ToArray())));
            }
Exemple #3
0
        internal void AddDiff(RenderTreeDiff diff)
        {
            var componentId = diff.ComponentId;

            if (!DiffsByComponentId.ContainsKey(componentId))
            {
                DiffsByComponentId.Add(componentId, new List <CapturedRenderTreeDiff>());
            }

            var renderTreeEdits  = diff.Edits.ToArray();
            var capturedTreeDiff = new CapturedRenderTreeDiff(diff.ComponentId, renderTreeEdits);

            DiffsByComponentId[componentId].Add(capturedTreeDiff);
            DiffsInOrder.Add(capturedTreeDiff);
        }
Exemple #4
0
    internal void AddDiff(RenderTreeDiff diff)
    {
        var componentId = diff.ComponentId;

        if (!DiffsByComponentId.ContainsKey(componentId))
        {
            DiffsByComponentId.Add(componentId, new List <RenderTreeDiff>());
        }

        // Clone the diff, because its underlying storage will get reused in subsequent batches
        var cloneBuilder = new ArrayBuilder <RenderTreeEdit>();

        cloneBuilder.Append(diff.Edits.ToArray(), 0, diff.Edits.Count);
        var diffClone = new RenderTreeDiff(
            diff.ComponentId,
            cloneBuilder.ToSegment(0, diff.Edits.Count));

        DiffsByComponentId[componentId].Add(diffClone);
        DiffsInOrder.Add(diffClone);
    }