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
- Instrumentation.cs
- HttpCacheVary.cs
- TextParagraph.cs
- RectConverter.cs
- DataBoundControl.cs
- DebugTrace.cs
- Brush.cs
- ValueQuery.cs
- IriParsingElement.cs
- XmlNodeChangedEventArgs.cs
- Inline.cs
- WebResourceAttribute.cs
- MatchNoneMessageFilter.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- SoapAttributes.cs
- PerfCounterSection.cs
- Page.cs
- QuaternionAnimation.cs
- CompilerScope.Storage.cs
- AutomationIdentifier.cs
- ShapingWorkspace.cs
- SpecularMaterial.cs
- RecipientInfo.cs
- CodeDOMUtility.cs
- RuntimeCompatibilityAttribute.cs
- DataExpression.cs
- TypeSource.cs
- processwaithandle.cs
- figurelength.cs
- Permission.cs
- AsymmetricKeyExchangeDeformatter.cs
- BinaryFormatterSinks.cs
- OpenFileDialog.cs
- AttributeData.cs
- ServiceProviders.cs
- SelectionManager.cs
- TypeUtils.cs
- TrackingRecord.cs
- DiscoveryDocumentSearchPattern.cs
- MultipleViewProviderWrapper.cs
- PersonalizationStateInfoCollection.cs
- FunctionNode.cs
- CodeArrayCreateExpression.cs
- Accessible.cs
- SimpleExpression.cs
- SafeArrayTypeMismatchException.cs
- RegexCompiler.cs
- ObjectItemCachedAssemblyLoader.cs
- SourceFileBuildProvider.cs
- Literal.cs
- StylusButton.cs
- ExpandableObjectConverter.cs
- ListViewSelectEventArgs.cs
- ScriptIgnoreAttribute.cs
- Pen.cs
- UnsafeNativeMethods.cs
- DocumentViewer.cs
- arclist.cs
- DetailsViewPageEventArgs.cs
- LoggedException.cs
- TemplateControlBuildProvider.cs
- ElementFactory.cs
- KnownIds.cs
- DnsPermission.cs
- CodeArgumentReferenceExpression.cs
- _NegoState.cs
- UnknownWrapper.cs
- CapabilitiesState.cs
- AdornedElementPlaceholder.cs
- DragEventArgs.cs
- CommentEmitter.cs
- TagNameToTypeMapper.cs
- RepeatBehaviorConverter.cs
- SiteMapSection.cs
- ArgumentOutOfRangeException.cs
- ThreadAttributes.cs
- _ScatterGatherBuffers.cs
- GlobalizationAssembly.cs
- FocusManager.cs
- InternalReceiveMessage.cs
- MarshalByRefObject.cs
- UnicastIPAddressInformationCollection.cs
- ConfigurationPermission.cs
- DebuggerAttributes.cs
- RawStylusInput.cs
- ChameleonKey.cs
- ToolStripKeyboardHandlingService.cs
- FullTextState.cs
- WsdlBuildProvider.cs
- NTAccount.cs
- ButtonColumn.cs
- AccessedThroughPropertyAttribute.cs
- VBIdentifierTrimConverter.cs
- AsynchronousChannel.cs
- DynamicControlParameter.cs
- StrokeRenderer.cs
- IssuanceTokenProviderState.cs
- QueryCursorEventArgs.cs
- XmlCharCheckingWriter.cs
- EntityParameterCollection.cs