Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PermissionRequestEvidence.cs
- RequiredFieldValidator.cs
- ImageListStreamer.cs
- CodeGenerator.cs
- JpegBitmapDecoder.cs
- NameTable.cs
- ConstraintStruct.cs
- cache.cs
- NetTcpBindingCollectionElement.cs
- CheckableControlBaseAdapter.cs
- ExceptionTrace.cs
- XPathMessageFilterElementComparer.cs
- RegexRunnerFactory.cs
- CompiledRegexRunner.cs
- RegexCaptureCollection.cs
- ModifierKeysValueSerializer.cs
- ExceptionDetail.cs
- TextTreeTextElementNode.cs
- TraceXPathNavigator.cs
- CompoundFileDeflateTransform.cs
- DynamicResourceExtensionConverter.cs
- PtsContext.cs
- DesignTimeHTMLTextWriter.cs
- MatrixConverter.cs
- dsa.cs
- BackStopAuthenticationModule.cs
- UIElementCollection.cs
- Assembly.cs
- WebConfigurationFileMap.cs
- ListBoxItemAutomationPeer.cs
- IgnoreFileBuildProvider.cs
- Symbol.cs
- WebReferenceOptions.cs
- DataServiceClientException.cs
- DateTimeOffsetConverter.cs
- PageThemeParser.cs
- RenderDataDrawingContext.cs
- HtmlEncodedRawTextWriter.cs
- ValueType.cs
- SafeRightsManagementSessionHandle.cs
- LoadRetryAsyncResult.cs
- ModelPropertyCollectionImpl.cs
- PageSettings.cs
- TextFormattingConverter.cs
- SizeConverter.cs
- StylusDevice.cs
- Grant.cs
- MenuBase.cs
- MethodBuilder.cs
- MaskedTextBox.cs
- CreationContext.cs
- DragStartedEventArgs.cs
- DataBoundControlHelper.cs
- Html32TextWriter.cs
- CodeDirectoryCompiler.cs
- ConfigurationSectionCollection.cs
- MemberCollection.cs
- SqlUserDefinedTypeAttribute.cs
- BatchParser.cs
- HttpHandlerActionCollection.cs
- XPathSingletonIterator.cs
- _NetRes.cs
- HttpHandlerActionCollection.cs
- DataServiceBuildProvider.cs
- DelayedRegex.cs
- ControlIdConverter.cs
- DataGridTextBoxColumn.cs
- NullableDoubleAverageAggregationOperator.cs
- CompoundFileReference.cs
- CodeGenHelper.cs
- CustomError.cs
- ActivityExecutor.cs
- ToolStripGrip.cs
- SqlRowUpdatedEvent.cs
- ToolStripHighContrastRenderer.cs
- StoragePropertyMapping.cs
- EventMappingSettingsCollection.cs
- DataListItemEventArgs.cs
- PartManifestEntry.cs
- InvariantComparer.cs
- BitVector32.cs
- WebPartDisplayModeEventArgs.cs
- TextAutomationPeer.cs
- XmlConvert.cs
- ImageClickEventArgs.cs
- XmlImplementation.cs
- Deflater.cs
- CharacterBuffer.cs
- SiteMapSection.cs
- FrameworkElementFactoryMarkupObject.cs
- ExceptionUtil.cs
- HtmlTableRow.cs
- RegisteredExpandoAttribute.cs
- Literal.cs
- StateMachine.cs
- ParameterCollectionEditorForm.cs
- XmlSchemaValidationException.cs
- Point3DKeyFrameCollection.cs
- ConfigurationStrings.cs
- Constraint.cs