private void MoveToLast(CachedSize key, MeasureSizeEntry value) { if (_queue.Count != 0 && _queue.Last.Value != key) { _queue.Remove(value.ListNode); _queue.AddLast(value.ListNode); } }
internal void CacheMeasure(Size desiredSize, Size measuredSize) { Scavenge(); var key = CachedTuple.Create(desiredSize.Width, desiredSize.Height); var node = _queue.AddLast(key); _sizes[key] = new MeasureSizeEntry(measuredSize, node); }
private void MoveToLast(CachedSize key, MeasureSizeEntry value) { if (_queue.Count == 0 || Equals(_queue.Last.Value, key)) { return; } _queue.Remove(value.ListNode); _queue.AddLast(value.ListNode); }