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
- NamedObject.cs
- ThemeableAttribute.cs
- ObjectDataSource.cs
- IconConverter.cs
- HostProtectionException.cs
- RegisteredHiddenField.cs
- ConfigXmlSignificantWhitespace.cs
- SecurityDescriptor.cs
- RegistryKey.cs
- GradientStopCollection.cs
- SettingsPropertyNotFoundException.cs
- TextElementCollection.cs
- UpdateCompiler.cs
- HttpCookieCollection.cs
- VsPropertyGrid.cs
- LocatorPartList.cs
- XpsSerializerWriter.cs
- ExpandCollapsePatternIdentifiers.cs
- AuthenticationService.cs
- MtomMessageEncodingBindingElement.cs
- AliasedSlot.cs
- CalendarDataBindingHandler.cs
- XmlSchemaSimpleContent.cs
- GeneratedContractType.cs
- MarginCollapsingState.cs
- XmlIncludeAttribute.cs
- DoubleCollectionValueSerializer.cs
- ClientFormsIdentity.cs
- RoleBoolean.cs
- SimpleFieldTemplateUserControl.cs
- SoapEnumAttribute.cs
- TableCellCollection.cs
- ReliableChannelFactory.cs
- WebPartsPersonalizationAuthorization.cs
- InkCanvasSelection.cs
- ProtocolsSection.cs
- TableItemPatternIdentifiers.cs
- FontDriver.cs
- DataTableMapping.cs
- loginstatus.cs
- TableItemStyle.cs
- FunctionImportElement.cs
- ItemsControl.cs
- HtmlControl.cs
- ItemsControl.cs
- SqlUnionizer.cs
- BitmapSource.cs
- RelationshipConverter.cs
- FontUnitConverter.cs
- StickyNoteHelper.cs
- ResourcePool.cs
- FactoryGenerator.cs
- SpellerHighlightLayer.cs
- AutomationPattern.cs
- InvalidMessageContractException.cs
- WebPartExportVerb.cs
- UnrecognizedPolicyAssertionElement.cs
- SchemaTypeEmitter.cs
- WSUtilitySpecificationVersion.cs
- filewebrequest.cs
- Rect.cs
- XhtmlTextWriter.cs
- ISAPIWorkerRequest.cs
- XmlSchemaProviderAttribute.cs
- ZoneButton.cs
- SignedInfo.cs
- PointCollection.cs
- ErrorFormatterPage.cs
- SingleQueryOperator.cs
- PropertyTabChangedEvent.cs
- RsaEndpointIdentity.cs
- DocComment.cs
- XmlCharCheckingWriter.cs
- ScriptServiceAttribute.cs
- ChildChangedEventArgs.cs
- SoapElementAttribute.cs
- SessionStateContainer.cs
- ClientScriptManager.cs
- entityreference_tresulttype.cs
- QualifiedCellIdBoolean.cs
- List.cs
- TypeListConverter.cs
- Utils.cs
- EntityDataSourceWrapperCollection.cs
- SID.cs
- XmlSerializerVersionAttribute.cs
- FloatUtil.cs
- RequestTimeoutManager.cs
- ToolStripCustomTypeDescriptor.cs
- TextRange.cs
- InvalidDataException.cs
- PrintPageEvent.cs
- TemplateBindingExtensionConverter.cs
- SimpleWebHandlerParser.cs
- PrimaryKeyTypeConverter.cs
- bidPrivateBase.cs
- MenuTracker.cs
- Rijndael.cs
- CompiledRegexRunner.cs
- MimeFormReflector.cs