Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Animation / EasingFunctionBase.cs / 1305600 / EasingFunctionBase.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation, 2008 // // File: EasingFunctionBase.cs //----------------------------------------------------------------------------- namespace System.Windows.Media.Animation { ////// This class is the base class for many easing functions. /// public abstract class EasingFunctionBase : Freezable, IEasingFunction { ////// EasingMode Property /// public static readonly DependencyProperty EasingModeProperty = DependencyProperty.Register( "EasingMode", typeof(EasingMode), typeof(EasingFunctionBase), new PropertyMetadata(EasingMode.EaseOut)); ////// Specifies the easing behavior. /// public EasingMode EasingMode { get { return (EasingMode)GetValue(EasingModeProperty); } set { SetValueInternal(EasingModeProperty, value); } } ////// Transforms normalized time to control the pace of an animation. /// /// normalized time (progress) of the animation ///transformed progress ///Uses EasingMode in conjunction with EaseInCore to evaluate the easing function. public double Ease(double normalizedTime) { switch (EasingMode) { case EasingMode.EaseIn: return EaseInCore(normalizedTime); case EasingMode.EaseOut: // EaseOut is the same as EaseIn, except time is reversed & the result is flipped. return 1.0 - EaseInCore(1.0 - normalizedTime); case EasingMode.EaseInOut: default: // EaseInOut is a combination of EaseIn & EaseOut fit to the 0-1, 0-1 range. return (normalizedTime < 0.5) ? EaseInCore( normalizedTime * 2.0 ) * 0.5 : (1.0 - EaseInCore((1.0 - normalizedTime) * 2.0)) * 0.5 + 0.5; } } ////// Transforms normalized time to control the pace of an animation for the EaseIn EasingMode /// /// normalized time (progress) of the animation ///transformed progress ////// You only have to specifiy your easing function for the 'EaseIn' case because the implementation /// of Ease will handle transforming normalizedTime & the result of this method to handle 'EaseOut' & 'EaseInOut'. /// protected abstract double EaseInCore(double normalizedTime); } } // 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
- SQLDoubleStorage.cs
- InputProcessorProfilesLoader.cs
- DataGridViewCellPaintingEventArgs.cs
- TextEndOfSegment.cs
- Stack.cs
- GridItemProviderWrapper.cs
- Maps.cs
- PrintingPermission.cs
- TraceSource.cs
- SchemaElementDecl.cs
- CoTaskMemHandle.cs
- SemanticResultValue.cs
- PointCollection.cs
- FocusManager.cs
- AmbientProperties.cs
- InitializingNewItemEventArgs.cs
- WorkflowMessageEventArgs.cs
- ThaiBuddhistCalendar.cs
- ListViewItem.cs
- NavigationProperty.cs
- CryptographicAttribute.cs
- EventKeyword.cs
- DoubleCollection.cs
- DataGridViewCellMouseEventArgs.cs
- LocationSectionRecord.cs
- TriggerBase.cs
- TypeSystem.cs
- OleStrCAMarshaler.cs
- TogglePattern.cs
- SelectionList.cs
- BamlResourceSerializer.cs
- AutoResetEvent.cs
- DisposableCollectionWrapper.cs
- InfoCardArgumentException.cs
- SpinLock.cs
- LinqDataSourceInsertEventArgs.cs
- DefaultValueConverter.cs
- Italic.cs
- DefaultWorkflowLoaderService.cs
- SecurityState.cs
- XmlLanguageConverter.cs
- RemoveStoryboard.cs
- DataGridDetailsPresenterAutomationPeer.cs
- Wildcard.cs
- ExcCanonicalXml.cs
- StylusPointPropertyInfo.cs
- CodeTypeReference.cs
- JsonEncodingStreamWrapper.cs
- BindingWorker.cs
- CodeVariableReferenceExpression.cs
- Header.cs
- ServiceActivationException.cs
- ObjectConverter.cs
- VectorAnimation.cs
- SiteOfOriginPart.cs
- CodeSubDirectory.cs
- CustomWebEventKey.cs
- TemplateBuilder.cs
- SqlRecordBuffer.cs
- FontInfo.cs
- ProfileBuildProvider.cs
- UserControl.cs
- FusionWrap.cs
- SafeFindHandle.cs
- ContextMenuService.cs
- AsymmetricKeyExchangeFormatter.cs
- BevelBitmapEffect.cs
- SoapCodeExporter.cs
- TraversalRequest.cs
- CompensationDesigner.cs
- PackagePartCollection.cs
- ScrollBar.cs
- LoginView.cs
- InternalResources.cs
- FormViewInsertEventArgs.cs
- remotingproxy.cs
- ZipIOModeEnforcingStream.cs
- DataGridPagerStyle.cs
- DefaultShape.cs
- EllipseGeometry.cs
- RC2.cs
- RegistrySecurity.cs
- TypeToken.cs
- XsltFunctions.cs
- AxDesigner.cs
- MimeTypePropertyAttribute.cs
- ImportedPolicyConversionContext.cs
- HttpCachePolicy.cs
- DirectoryNotFoundException.cs
- HeaderedItemsControl.cs
- RequestQueue.cs
- sqlpipe.cs
- ControlEvent.cs
- QueryAccessibilityHelpEvent.cs
- RouteTable.cs
- ITreeGenerator.cs
- MatrixStack.cs
- StrokeIntersection.cs
- ResourceWriter.cs
- BaseComponentEditor.cs