Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // 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
- TreeViewEvent.cs
- TableDesigner.cs
- DocumentPage.cs
- OpCellTreeNode.cs
- XamlContextStack.cs
- GridViewAutomationPeer.cs
- Rotation3DAnimation.cs
- DataTemplateKey.cs
- ToolStripArrowRenderEventArgs.cs
- XhtmlStyleClass.cs
- RuntimeArgumentHandle.cs
- XmlSchemaInferenceException.cs
- HtmlToClrEventProxy.cs
- ReferenceEqualityComparer.cs
- SpeechEvent.cs
- SqlProviderManifest.cs
- SspiHelper.cs
- SqlDataSourceEnumerator.cs
- DynamicQueryStringParameter.cs
- GC.cs
- TextTreeUndoUnit.cs
- DataServiceResponse.cs
- KeyboardNavigation.cs
- PropertyIDSet.cs
- VectorCollectionConverter.cs
- DataGridViewTopRowAccessibleObject.cs
- InternalConfigRoot.cs
- Token.cs
- EditorPart.cs
- Application.cs
- _HTTPDateParse.cs
- EndpointConfigContainer.cs
- Matrix3DStack.cs
- FocusWithinProperty.cs
- ReflectionTypeLoadException.cs
- UpDownBase.cs
- RoutedEventValueSerializer.cs
- SecurityValidationBehavior.cs
- ReliableSessionBindingElementImporter.cs
- TextRangeEditLists.cs
- OperationPickerDialog.designer.cs
- TreeView.cs
- SafeCertificateStore.cs
- SecurityPolicySection.cs
- DataSourceView.cs
- Pointer.cs
- future.cs
- RegexWriter.cs
- DataSourceControlBuilder.cs
- ProviderConnectionPointCollection.cs
- WebServiceReceive.cs
- WindowsAuthenticationModule.cs
- FileUpload.cs
- Inflater.cs
- PropertyOrder.cs
- ProcessingInstructionAction.cs
- TCPClient.cs
- DataBindingHandlerAttribute.cs
- ErrorFormatter.cs
- TextWriterTraceListener.cs
- ConnectionManagementElement.cs
- ping.cs
- IfAction.cs
- DocumentOrderQuery.cs
- COAUTHIDENTITY.cs
- SqlDataSourceCommandEventArgs.cs
- PageAsyncTaskManager.cs
- RectKeyFrameCollection.cs
- UnsafeNativeMethods.cs
- ReversePositionQuery.cs
- SqlClientMetaDataCollectionNames.cs
- TransportSecurityHelpers.cs
- MD5.cs
- MonthCalendar.cs
- EditingMode.cs
- ProcessModule.cs
- Debugger.cs
- CatalogPartChrome.cs
- InvalidCommandTreeException.cs
- CrossSiteScriptingValidation.cs
- DiscriminatorMap.cs
- WebProxyScriptElement.cs
- BinaryObjectInfo.cs
- ADMembershipUser.cs
- TaiwanCalendar.cs
- DataGridViewCellStyleConverter.cs
- DBSchemaRow.cs
- CaretElement.cs
- OwnerDrawPropertyBag.cs
- EventMappingSettingsCollection.cs
- EventBuilder.cs
- HeaderPanel.cs
- SqlTransaction.cs
- CustomAttributeFormatException.cs
- DbTransaction.cs
- SoundPlayerAction.cs
- DataBinder.cs
- XmlDesignerDataSourceView.cs
- ThicknessConverter.cs
- SqlWorkflowInstanceStoreLock.cs