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
- Win32.cs
- UpDownBaseDesigner.cs
- ExpressionsCollectionConverter.cs
- PathSegmentCollection.cs
- ColumnHeaderConverter.cs
- NotImplementedException.cs
- Focus.cs
- GroupJoinQueryOperator.cs
- Compensate.cs
- FileVersionInfo.cs
- ObjRef.cs
- DBDataPermission.cs
- RecordBuilder.cs
- CatalogPartCollection.cs
- BufferedMessageWriter.cs
- Decorator.cs
- UnicodeEncoding.cs
- SslStream.cs
- TransactionTraceIdentifier.cs
- SvcMapFileSerializer.cs
- SelectionItemPattern.cs
- SemanticResultKey.cs
- SolidColorBrush.cs
- DataRowExtensions.cs
- SvcFileManager.cs
- URLAttribute.cs
- ScrollEvent.cs
- RepeatButtonAutomationPeer.cs
- ToolStripMenuItem.cs
- MultiPageTextView.cs
- KnownTypesProvider.cs
- SiblingIterators.cs
- SqlFactory.cs
- DefaultValueConverter.cs
- DataGridViewTextBoxEditingControl.cs
- SqlRowUpdatedEvent.cs
- TableLayoutColumnStyleCollection.cs
- SvcMapFile.cs
- PointLight.cs
- MulticastOption.cs
- FocusChangedEventArgs.cs
- FileEnumerator.cs
- AggregateNode.cs
- ApplicationCommands.cs
- TagNameToTypeMapper.cs
- OraclePermission.cs
- GroupPartitionExpr.cs
- HwndStylusInputProvider.cs
- Vector3DAnimationBase.cs
- QueueException.cs
- WpfGeneratedKnownTypes.cs
- MethodResolver.cs
- util.cs
- SqlConnectionHelper.cs
- BinHexDecoder.cs
- FirstMatchCodeGroup.cs
- ItemCheckEvent.cs
- SoapReflectionImporter.cs
- NavigateEvent.cs
- EdmProviderManifest.cs
- PenLineJoinValidation.cs
- StatusBar.cs
- ErrorHandlerModule.cs
- AssemblyFilter.cs
- TextComposition.cs
- WebEventTraceProvider.cs
- XmlSignificantWhitespace.cs
- CharAnimationBase.cs
- TraceContext.cs
- WindowsTokenRoleProvider.cs
- Scheduler.cs
- ChildTable.cs
- GenericQueueSurrogate.cs
- WizardStepBase.cs
- SelectorAutomationPeer.cs
- GregorianCalendar.cs
- TabItemWrapperAutomationPeer.cs
- ProtocolsConfiguration.cs
- ResolvedKeyFrameEntry.cs
- ResourceContainer.cs
- DrawItemEvent.cs
- OdbcStatementHandle.cs
- DataTemplate.cs
- HttpValueCollection.cs
- StringAnimationUsingKeyFrames.cs
- CommonXSendMessage.cs
- StatusBarDrawItemEvent.cs
- URLAttribute.cs
- TrustSection.cs
- StylusCollection.cs
- FormViewPageEventArgs.cs
- SerialStream.cs
- ActivityValidationServices.cs
- BitmapEffectCollection.cs
- OleDbConnectionInternal.cs
- DispatcherExceptionFilterEventArgs.cs
- TableRow.cs
- CreateUserWizardDesigner.cs
- WebPartAddingEventArgs.cs
- ImageUrlEditor.cs