| File: System\Windows\Media\Animation\Generated\SizeKeyFrameCollection.cs | Web Access |
| Project: src\wpf\src\Microsoft.DotNet.Wpf\src\PresentationCore\PresentationCore.csproj (PresentationCore) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // // // This file was generated, please do not edit it directly. // // Please see MilCodeGen.html for more information. // using System.Collections; using System.Globalization; namespace System.Windows.Media.Animation { /// <summary> /// This collection is used in conjunction with a KeyFrameSizeAnimation /// to animate a Size property value along a set of key frames. /// </summary> public class SizeKeyFrameCollection : Freezable, IList { #region Data private List<SizeKeyFrame> _keyFrames; private static SizeKeyFrameCollection s_emptyCollection; #endregion #region Constructors /// <Summary> /// Creates a new SizeKeyFrameCollection. /// </Summary> public SizeKeyFrameCollection() : base() { _keyFrames = new List< SizeKeyFrame>(2); } #endregion #region Static Methods /// <summary> /// An empty SizeKeyFrameCollection. /// </summary> public static SizeKeyFrameCollection Empty { get { if (s_emptyCollection == null) { SizeKeyFrameCollection emptyCollection = new SizeKeyFrameCollection { _keyFrames = new List<SizeKeyFrame>(0) }; emptyCollection.Freeze(); s_emptyCollection = emptyCollection; } return s_emptyCollection; } } #endregion #region Freezable /// <summary> /// Creates a freezable copy of this SizeKeyFrameCollection. /// </summary> /// <returns>The copy</returns> public new SizeKeyFrameCollection Clone() { return (SizeKeyFrameCollection)base.Clone(); } /// <summary> /// Implementation of <see cref="System.Windows.Freezable.CreateInstanceCore">Freezable.CreateInstanceCore</see>. /// </summary> /// <returns>The new Freezable.</returns> protected override Freezable CreateInstanceCore() { return new SizeKeyFrameCollection(); } /// <summary> /// Implementation of <see cref="System.Windows.Freezable.CloneCore(System.Windows.Freezable)">Freezable.CloneCore</see>. /// </summary> protected override void CloneCore(Freezable sourceFreezable) { SizeKeyFrameCollection sourceCollection = (SizeKeyFrameCollection)sourceFreezable; base.CloneCore(sourceFreezable); int count = sourceCollection._keyFrames.Count; _keyFrames = new List< SizeKeyFrame>(count); for (int i = 0; i < count; i++) { SizeKeyFrame keyFrame = (SizeKeyFrame)sourceCollection._keyFrames[i].Clone(); _keyFrames.Add(keyFrame); OnFreezablePropertyChanged(null, keyFrame); } } /// <summary> /// Implementation of <see cref="System.Windows.Freezable.CloneCurrentValueCore(System.Windows.Freezable)">Freezable.CloneCurrentValueCore</see>. /// </summary> protected override void CloneCurrentValueCore(Freezable sourceFreezable) { SizeKeyFrameCollection sourceCollection = (SizeKeyFrameCollection)sourceFreezable; base.CloneCurrentValueCore(sourceFreezable); int count = sourceCollection._keyFrames.Count; _keyFrames = new List< SizeKeyFrame>(count); for (int i = 0; i < count; i++) { SizeKeyFrame keyFrame = (SizeKeyFrame)sourceCollection._keyFrames[i].CloneCurrentValue(); _keyFrames.Add(keyFrame); OnFreezablePropertyChanged(null, keyFrame); } } /// <summary> /// Implementation of <see cref="System.Windows.Freezable.GetAsFrozenCore(System.Windows.Freezable)">Freezable.GetAsFrozenCore</see>. /// </summary> protected override void GetAsFrozenCore(Freezable sourceFreezable) { SizeKeyFrameCollection sourceCollection = (SizeKeyFrameCollection)sourceFreezable; base.GetAsFrozenCore(sourceFreezable); int count = sourceCollection._keyFrames.Count; _keyFrames = new List< SizeKeyFrame>(count); for (int i = 0; i < count; i++) { SizeKeyFrame keyFrame = (SizeKeyFrame)sourceCollection._keyFrames[i].GetAsFrozen(); _keyFrames.Add(keyFrame); OnFreezablePropertyChanged(null, keyFrame); } } /// <summary> /// Implementation of <see cref="System.Windows.Freezable.GetCurrentValueAsFrozenCore(System.Windows.Freezable)">Freezable.GetCurrentValueAsFrozenCore</see>. /// </summary> protected override void GetCurrentValueAsFrozenCore(Freezable sourceFreezable) { SizeKeyFrameCollection sourceCollection = (SizeKeyFrameCollection)sourceFreezable; base.GetCurrentValueAsFrozenCore(sourceFreezable); int count = sourceCollection._keyFrames.Count; _keyFrames = new List< SizeKeyFrame>(count); for (int i = 0; i < count; i++) { SizeKeyFrame keyFrame = (SizeKeyFrame)sourceCollection._keyFrames[i].GetCurrentValueAsFrozen(); _keyFrames.Add(keyFrame); OnFreezablePropertyChanged(null, keyFrame); } } /// <summary> /// /// </summary> protected override bool FreezeCore(bool isChecking) { bool canFreeze = base.FreezeCore(isChecking); for (int i = 0; i < _keyFrames.Count && canFreeze; i++) { canFreeze &= Freezable.Freeze(_keyFrames[i], isChecking); } return canFreeze; } #endregion #region IEnumerable /// <summary> /// Returns an enumerator of the SizeKeyFrames in the collection. /// </summary> public IEnumerator GetEnumerator() { ReadPreamble(); return _keyFrames.GetEnumerator(); } #endregion #region ICollection /// <summary> /// Returns the number of SizeKeyFrames in the collection. /// </summary> public int Count { get { ReadPreamble(); return _keyFrames.Count; } } /// <summary> /// See <see cref="System.Collections.ICollection.IsSynchronized">ICollection.IsSynchronized</see>. /// </summary> public bool IsSynchronized { get { ReadPreamble(); return (IsFrozen || Dispatcher != null); } } /// <summary> /// See <see cref="System.Collections.ICollection.SyncRoot">ICollection.SyncRoot</see>. /// </summary> public object SyncRoot { get { ReadPreamble(); return ((ICollection)_keyFrames).SyncRoot; } } /// <summary> /// Copies all of the SizeKeyFrames in the collection to an /// array. /// </summary> void ICollection.CopyTo(Array array, int index) { ReadPreamble(); ((ICollection)_keyFrames).CopyTo(array, index); } /// <summary> /// Copies all of the SizeKeyFrames in the collection to an /// array of SizeKeyFrames. /// </summary> public void CopyTo(SizeKeyFrame[] array, int index) { ReadPreamble(); _keyFrames.CopyTo(array, index); } #endregion #region IList /// <summary> /// Adds a SizeKeyFrame to the collection. /// </summary> int IList.Add(object keyFrame) { return Add((SizeKeyFrame)keyFrame); } /// <summary> /// Adds a SizeKeyFrame to the collection. /// </summary> public int Add(SizeKeyFrame keyFrame) { ArgumentNullException.ThrowIfNull(keyFrame); WritePreamble(); OnFreezablePropertyChanged(null, keyFrame); _keyFrames.Add(keyFrame); WritePostscript(); return _keyFrames.Count - 1; } /// <summary> /// Removes all SizeKeyFrames from the collection. /// </summary> public void Clear() { WritePreamble(); if (_keyFrames.Count > 0) { for (int i = 0; i < _keyFrames.Count; i++) { OnFreezablePropertyChanged(_keyFrames[i], null); } _keyFrames.Clear(); WritePostscript(); } } /// <summary> /// Returns true of the collection contains the given SizeKeyFrame. /// </summary> bool IList.Contains(object keyFrame) { return Contains((SizeKeyFrame)keyFrame); } /// <summary> /// Returns true of the collection contains the given SizeKeyFrame. /// </summary> public bool Contains(SizeKeyFrame keyFrame) { ReadPreamble(); return _keyFrames.Contains(keyFrame); } /// <summary> /// Returns the index of a given SizeKeyFrame in the collection. /// </summary> int IList.IndexOf(object keyFrame) { return IndexOf((SizeKeyFrame)keyFrame); } /// <summary> /// Returns the index of a given SizeKeyFrame in the collection. /// </summary> public int IndexOf(SizeKeyFrame keyFrame) { ReadPreamble(); return _keyFrames.IndexOf(keyFrame); } /// <summary> /// Inserts a SizeKeyFrame into a specific location in the collection. /// </summary> void IList.Insert(int index, object keyFrame) { Insert(index, (SizeKeyFrame)keyFrame); } /// <summary> /// Inserts a SizeKeyFrame into a specific location in the collection. /// </summary> public void Insert(int index, SizeKeyFrame keyFrame) { ArgumentNullException.ThrowIfNull(keyFrame); WritePreamble(); OnFreezablePropertyChanged(null, keyFrame); _keyFrames.Insert(index, keyFrame); WritePostscript(); } /// <summary> /// Returns true if the collection is frozen. /// </summary> public bool IsFixedSize { get { ReadPreamble(); return IsFrozen; } } /// <summary> /// Returns true if the collection is frozen. /// </summary> public bool IsReadOnly { get { ReadPreamble(); return IsFrozen; } } /// <summary> /// Removes a SizeKeyFrame from the collection. /// </summary> void IList.Remove(object keyFrame) { Remove((SizeKeyFrame)keyFrame); } /// <summary> /// Removes a SizeKeyFrame from the collection. /// </summary> public void Remove(SizeKeyFrame keyFrame) { WritePreamble(); if (_keyFrames.Contains(keyFrame)) { OnFreezablePropertyChanged(keyFrame, null); _keyFrames.Remove(keyFrame); WritePostscript(); } } /// <summary> /// Removes the SizeKeyFrame at the specified index from the collection. /// </summary> public void RemoveAt(int index) { WritePreamble(); OnFreezablePropertyChanged(_keyFrames[index], null); _keyFrames.RemoveAt(index); WritePostscript(); } /// <summary> /// Gets or sets the SizeKeyFrame at a given index. /// </summary> object IList.this[int index] { get { return this[index]; } set { this[index] = (SizeKeyFrame)value; } } /// <summary> /// Gets or sets the SizeKeyFrame at a given index. /// </summary> public SizeKeyFrame this[int index] { get { ReadPreamble(); return _keyFrames[index]; } set { if (value == null) { throw new ArgumentNullException(String.Format(CultureInfo.InvariantCulture, "SizeKeyFrameCollection[{0}]", index)); } WritePreamble(); if (value != _keyFrames[index]) { OnFreezablePropertyChanged(_keyFrames[index], value); _keyFrames[index] = value; Debug.Assert(_keyFrames[index] != null); WritePostscript(); } } } #endregion } }