Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / InertiaTranslationBehavior.cs / 1305600 / InertiaTranslationBehavior.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows; using System.Windows.Input.Manipulations; namespace System.Windows.Input { ////// Provides information about the inertia behavior. /// public class InertiaTranslationBehavior { ////// Instantiates a new instance of this class. /// public InertiaTranslationBehavior() { } ////// Instantiates a new instance of this class. /// internal InertiaTranslationBehavior(Vector initialVelocity) { _initialVelocity = initialVelocity; } ////// The initial rate of change of position of the element at the start of the inertia phase. /// public Vector InitialVelocity { get { return _initialVelocity; } set { _isInitialVelocitySet = true; _initialVelocity = value; } } ////// The desired rate of change of velocity. /// public double DesiredDeceleration { get { return _desiredDeceleration; } set { if (Double.IsInfinity(value) || Double.IsNaN(value)) { throw new ArgumentOutOfRangeException("value"); } _isDesiredDecelerationSet = true; _desiredDeceleration = value; _isDesiredDisplacementSet = false; _desiredDisplacement = double.NaN; } } ////// The desired total change in position. /// public double DesiredDisplacement { get { return _desiredDisplacement; } set { if (Double.IsInfinity(value) || Double.IsNaN(value)) { throw new ArgumentOutOfRangeException("value"); } _isDesiredDisplacementSet = true; _desiredDisplacement = value; _isDesiredDecelerationSet = false; _desiredDeceleration = double.NaN; } } internal bool CanUseForInertia() { return _isInitialVelocitySet || _isDesiredDecelerationSet || _isDesiredDisplacementSet; } internal static void ApplyParameters(InertiaTranslationBehavior behavior, InertiaProcessor2D processor, Vector initialVelocity) { if (behavior != null && behavior.CanUseForInertia()) { InertiaTranslationBehavior2D behavior2D = new InertiaTranslationBehavior2D(); if (behavior._isInitialVelocitySet) { behavior2D.InitialVelocityX = (float)behavior._initialVelocity.X; behavior2D.InitialVelocityY = (float)behavior._initialVelocity.Y; } else { behavior2D.InitialVelocityX = (float)initialVelocity.X; behavior2D.InitialVelocityY = (float)initialVelocity.Y; } if (behavior._isDesiredDecelerationSet) { behavior2D.DesiredDeceleration = (float)behavior._desiredDeceleration; } if (behavior._isDesiredDisplacementSet) { behavior2D.DesiredDisplacement = (float)behavior._desiredDisplacement; } processor.TranslationBehavior = behavior2D; } } private bool _isInitialVelocitySet; private Vector _initialVelocity = new Vector(double.NaN, double.NaN); private bool _isDesiredDecelerationSet; private double _desiredDeceleration = double.NaN; private bool _isDesiredDisplacementSet; private double _desiredDisplacement = double.NaN; } } // 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
- ResourceDictionary.cs
- XmlRawWriter.cs
- ListViewItemEventArgs.cs
- AdapterSwitches.cs
- SignerInfo.cs
- PeerApplication.cs
- SplineKeyFrames.cs
- EdmComplexTypeAttribute.cs
- RectValueSerializer.cs
- Models.cs
- KnownBoxes.cs
- XmlReflectionImporter.cs
- newinstructionaction.cs
- MetafileHeader.cs
- COM2EnumConverter.cs
- DesignerCategoryAttribute.cs
- DbProviderFactoriesConfigurationHandler.cs
- BrowserTree.cs
- XmlSerializerAssemblyAttribute.cs
- ImageAutomationPeer.cs
- SettingsPropertyValueCollection.cs
- ManipulationStartingEventArgs.cs
- Exceptions.cs
- XmlSchemaRedefine.cs
- CmsInterop.cs
- _BaseOverlappedAsyncResult.cs
- XsltLoader.cs
- SpellerStatusTable.cs
- DataReaderContainer.cs
- DocumentAutomationPeer.cs
- XmlSchemaValidator.cs
- PointAnimationUsingPath.cs
- UnsafeNativeMethodsCLR.cs
- ObjectSerializerFactory.cs
- FrameworkObject.cs
- AttachedPropertyInfo.cs
- CollectionEditorDialog.cs
- EdmToObjectNamespaceMap.cs
- FixedFindEngine.cs
- Serializer.cs
- DocumentViewerBase.cs
- XmlNodeChangedEventArgs.cs
- XmlArrayItemAttribute.cs
- LinkAreaEditor.cs
- ArrayItemValue.cs
- BasicCellRelation.cs
- CheckBox.cs
- ActiveDocumentEvent.cs
- VirtualDirectoryMappingCollection.cs
- CommandTreeTypeHelper.cs
- ClickablePoint.cs
- Primitive.cs
- SoapTypeAttribute.cs
- DependencyObjectPropertyDescriptor.cs
- AuthenticationService.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- BaseCollection.cs
- ObjectDataSourceDisposingEventArgs.cs
- VirtualDirectoryMappingCollection.cs
- WmlCommandAdapter.cs
- StateMachineHistory.cs
- XPathAxisIterator.cs
- HwndKeyboardInputProvider.cs
- SimpleHandlerFactory.cs
- ReaderContextStackData.cs
- SymbolUsageManager.cs
- CompensationHandlingFilter.cs
- MobileControlBuilder.cs
- LoginUtil.cs
- UdpSocketReceiveManager.cs
- TimelineGroup.cs
- InvalidateEvent.cs
- SplashScreenNativeMethods.cs
- Parameter.cs
- SynchronizedDispatch.cs
- WebPartHelpVerb.cs
- XmlDeclaration.cs
- ListInitExpression.cs
- ToolStripRenderEventArgs.cs
- XmlReturnWriter.cs
- HtmlPanelAdapter.cs
- IndexerHelper.cs
- mda.cs
- DataControlFieldCell.cs
- EntryIndex.cs
- ObjectPersistData.cs
- QuotedPrintableStream.cs
- OracleTransaction.cs
- WCFBuildProvider.cs
- DialogWindow.cs
- EmptyImpersonationContext.cs
- assertwrapper.cs
- XmlSchemaAttributeGroup.cs
- ProfileProvider.cs
- AppSecurityManager.cs
- URLAttribute.cs
- ImageList.cs
- _BasicClient.cs
- _AuthenticationState.cs
- NavigationEventArgs.cs