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
- HtmlLiteralTextAdapter.cs
- ReferencedCollectionType.cs
- objectresult_tresulttype.cs
- AssemblyBuilder.cs
- TemplateBuilder.cs
- propertytag.cs
- InfoCardHelper.cs
- DocumentCollection.cs
- ListViewTableCell.cs
- UniqueIdentifierService.cs
- SmtpNetworkElement.cs
- MaterialGroup.cs
- ListenDesigner.cs
- FontInfo.cs
- PlatformNotSupportedException.cs
- PTManager.cs
- DirectionalLight.cs
- ConstructorExpr.cs
- FormViewCommandEventArgs.cs
- SmiContextFactory.cs
- DbDataRecord.cs
- CalloutQueueItem.cs
- DependsOnAttribute.cs
- PropertyEmitter.cs
- SqlServices.cs
- TextSearch.cs
- XmlAtomicValue.cs
- TaskExceptionHolder.cs
- MaskInputRejectedEventArgs.cs
- NotSupportedException.cs
- ElementMarkupObject.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- DataColumnMapping.cs
- IntegerFacetDescriptionElement.cs
- XmlNamespaceManager.cs
- IgnoreSectionHandler.cs
- RectAnimationClockResource.cs
- TdsEnums.cs
- PassportPrincipal.cs
- ServiceCredentialsSecurityTokenManager.cs
- ContractComponent.cs
- OleStrCAMarshaler.cs
- EdgeProfileValidation.cs
- RequiredFieldValidator.cs
- ValidatorUtils.cs
- PartialCachingAttribute.cs
- DateTime.cs
- SafeNativeMethods.cs
- TaskHelper.cs
- ImageListUtils.cs
- InputMethodStateTypeInfo.cs
- Array.cs
- SvcMapFileSerializer.cs
- Int32RectConverter.cs
- BitStream.cs
- BitmapImage.cs
- NamespaceQuery.cs
- IISUnsafeMethods.cs
- OdbcHandle.cs
- NotifyCollectionChangedEventArgs.cs
- XsdDuration.cs
- RequestCachingSection.cs
- SchemaInfo.cs
- XhtmlConformanceSection.cs
- ControlBindingsCollection.cs
- HtmlHead.cs
- StrongNameMembershipCondition.cs
- MultipartIdentifier.cs
- Configuration.cs
- DataGridViewRow.cs
- ConfigXmlElement.cs
- TextCharacters.cs
- ALinqExpressionVisitor.cs
- XmlCountingReader.cs
- ConfigurationValidatorBase.cs
- SchemaInfo.cs
- SignedInfo.cs
- TextRunCacheImp.cs
- CustomTypeDescriptor.cs
- MarkupExtensionParser.cs
- TranslateTransform.cs
- ScriptDescriptor.cs
- CommandManager.cs
- CommandValueSerializer.cs
- OdbcParameterCollection.cs
- InProcStateClientManager.cs
- MobileUserControl.cs
- DataGridSortCommandEventArgs.cs
- LookupBindingPropertiesAttribute.cs
- ChildTable.cs
- DeviceSpecificChoiceCollection.cs
- OperatorExpressions.cs
- ProtocolsConfigurationEntry.cs
- PopupRootAutomationPeer.cs
- DbgUtil.cs
- HtmlListAdapter.cs
- DataGridItem.cs
- DropShadowEffect.cs
- WithStatement.cs
- ClosableStream.cs