Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Animation / ElasticEase.cs / 1305600 / ElasticEase.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation, 2008 // // File: ElasticEase.cs //----------------------------------------------------------------------------- using MS.Internal; namespace System.Windows.Media.Animation { ////// This class implements an easing function that gives an elastic/springy curve /// public class ElasticEase : EasingFunctionBase { public ElasticEase() { } ////// Bounces Property /// public static readonly DependencyProperty OscillationsProperty = DependencyProperty.Register( "Oscillations", typeof(int), typeof(ElasticEase), new PropertyMetadata(3)); ////// Specifies the number of oscillations /// public int Oscillations { get { return (int)GetValue(OscillationsProperty); } set { SetValueInternal(OscillationsProperty, value); } } ////// Springiness Property /// public static readonly DependencyProperty SpringinessProperty = DependencyProperty.Register( "Springiness", typeof(double), typeof(ElasticEase), new PropertyMetadata(3.0)); ////// Specifies the amount of springiness /// public double Springiness { get { return (double)GetValue(SpringinessProperty); } set { SetValueInternal(SpringinessProperty, value); } } protected override double EaseInCore(double normalizedTime) { double oscillations = Math.Max(0.0, (double)Oscillations); double springiness = Math.Max(0.0, Springiness); double expo; if (DoubleUtil.IsZero(springiness)) { expo = normalizedTime; } else { expo = (Math.Exp(springiness * normalizedTime) - 1.0) / (Math.Exp(springiness) - 1.0); } return expo * (Math.Sin((Math.PI * 2.0 * oscillations + Math.PI * 0.5) * normalizedTime)); } protected override Freezable CreateInstanceCore() { return new ElasticEase(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation, 2008 // // File: ElasticEase.cs //----------------------------------------------------------------------------- using MS.Internal; namespace System.Windows.Media.Animation { ////// This class implements an easing function that gives an elastic/springy curve /// public class ElasticEase : EasingFunctionBase { public ElasticEase() { } ////// Bounces Property /// public static readonly DependencyProperty OscillationsProperty = DependencyProperty.Register( "Oscillations", typeof(int), typeof(ElasticEase), new PropertyMetadata(3)); ////// Specifies the number of oscillations /// public int Oscillations { get { return (int)GetValue(OscillationsProperty); } set { SetValueInternal(OscillationsProperty, value); } } ////// Springiness Property /// public static readonly DependencyProperty SpringinessProperty = DependencyProperty.Register( "Springiness", typeof(double), typeof(ElasticEase), new PropertyMetadata(3.0)); ////// Specifies the amount of springiness /// public double Springiness { get { return (double)GetValue(SpringinessProperty); } set { SetValueInternal(SpringinessProperty, value); } } protected override double EaseInCore(double normalizedTime) { double oscillations = Math.Max(0.0, (double)Oscillations); double springiness = Math.Max(0.0, Springiness); double expo; if (DoubleUtil.IsZero(springiness)) { expo = normalizedTime; } else { expo = (Math.Exp(springiness * normalizedTime) - 1.0) / (Math.Exp(springiness) - 1.0); } return expo * (Math.Sin((Math.PI * 2.0 * oscillations + Math.PI * 0.5) * normalizedTime)); } protected override Freezable CreateInstanceCore() { return new ElasticEase(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BamlVersionHeader.cs
- CompilationPass2TaskInternal.cs
- HtmlControlPersistable.cs
- MergeFailedEvent.cs
- TripleDES.cs
- FileLoadException.cs
- PropertyDescriptorComparer.cs
- EmptyEnumerator.cs
- TemplateControlBuildProvider.cs
- SecurityDocument.cs
- HttpModuleCollection.cs
- Point.cs
- StringValidatorAttribute.cs
- IPAddressCollection.cs
- TableRowCollection.cs
- WebZone.cs
- BoundsDrawingContextWalker.cs
- PrintingPermission.cs
- PartBasedPackageProperties.cs
- LinkAreaEditor.cs
- WindowsSysHeader.cs
- Storyboard.cs
- SQLInt64Storage.cs
- BaseComponentEditor.cs
- TextEndOfLine.cs
- MenuItemStyleCollection.cs
- DataGridViewComboBoxEditingControl.cs
- EmptyControlCollection.cs
- StrokeCollection2.cs
- CodeVariableReferenceExpression.cs
- DrawingBrush.cs
- OdbcConnectionString.cs
- TextWriter.cs
- SqlProfileProvider.cs
- ProviderSettingsCollection.cs
- RenderTargetBitmap.cs
- DynamicILGenerator.cs
- DataGridViewUtilities.cs
- ConfigurationException.cs
- ExtensibleClassFactory.cs
- HitTestParameters3D.cs
- ExeContext.cs
- EntityCommandExecutionException.cs
- LogicalExpr.cs
- XMLUtil.cs
- BeginCreateSecurityTokenRequest.cs
- InfoCardHelper.cs
- SqlCacheDependencyDatabase.cs
- SynchronizationHandlesCodeDomSerializer.cs
- DbConnectionPoolIdentity.cs
- DataRowComparer.cs
- AddInServer.cs
- SafeEventLogWriteHandle.cs
- baseaxisquery.cs
- DelegateBodyWriter.cs
- AccessControlEntry.cs
- SortQueryOperator.cs
- Descriptor.cs
- PropertiesTab.cs
- XmlSchemaSimpleType.cs
- SqlDependencyUtils.cs
- HttpInputStream.cs
- _FixedSizeReader.cs
- OleDbPermission.cs
- UserNamePasswordValidator.cs
- PersonalizationProviderHelper.cs
- SymmetricAlgorithm.cs
- Send.cs
- HMACSHA512.cs
- XmlCharType.cs
- RSAPKCS1SignatureDeformatter.cs
- PersonalizationEntry.cs
- CommentEmitter.cs
- XmlSchemaDocumentation.cs
- Boolean.cs
- DataGridViewComboBoxColumn.cs
- ErrorHandlerModule.cs
- UIElement3D.cs
- AmbientValueAttribute.cs
- CharacterMetrics.cs
- COM2ExtendedUITypeEditor.cs
- DataGridViewCellValidatingEventArgs.cs
- DmlSqlGenerator.cs
- FontConverter.cs
- DefaultSettingsSection.cs
- DataMemberConverter.cs
- WpfSharedXamlSchemaContext.cs
- HostingEnvironmentException.cs
- TextSerializer.cs
- RepeaterItemCollection.cs
- MetadataCache.cs
- VisualStyleRenderer.cs
- CatalogPartChrome.cs
- VisualStyleTypesAndProperties.cs
- UnsafeCollabNativeMethods.cs
- SqlRetyper.cs
- ImpersonationContext.cs
- MemoryStream.cs
- ScriptReference.cs
- TypeDelegator.cs