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
- ThreadExceptionEvent.cs
- TableRow.cs
- ArrayListCollectionBase.cs
- AuthenticationModuleElement.cs
- SqlConnectionHelper.cs
- DatatypeImplementation.cs
- TextDecoration.cs
- Cursors.cs
- FilterableAttribute.cs
- InvalidDataException.cs
- Clipboard.cs
- DynamicDataManager.cs
- NativeMethods.cs
- StorageRoot.cs
- XmlBufferReader.cs
- TraceLog.cs
- Scripts.cs
- BamlTreeUpdater.cs
- JoinCqlBlock.cs
- FontFamilyIdentifier.cs
- EncryptedType.cs
- HtmlInputHidden.cs
- _LocalDataStore.cs
- EdmItemCollection.cs
- VerificationException.cs
- ChainedAsyncResult.cs
- AutomationPatternInfo.cs
- AddInDeploymentState.cs
- mil_commands.cs
- DockPattern.cs
- PerformanceCounters.cs
- DataRowChangeEvent.cs
- AssociationSet.cs
- RenderData.cs
- ResourcePool.cs
- RuntimeConfig.cs
- StringFreezingAttribute.cs
- SrgsGrammarCompiler.cs
- SettingsProperty.cs
- XmlReaderSettings.cs
- FixedTextView.cs
- Stream.cs
- BuildResult.cs
- BCryptHashAlgorithm.cs
- BitmapMetadataEnumerator.cs
- ThreadPool.cs
- CodeTypeParameter.cs
- PageClientProxyGenerator.cs
- DataGridViewRowStateChangedEventArgs.cs
- AssemblyCollection.cs
- TrustSection.cs
- DbDataRecord.cs
- AssertUtility.cs
- HtmlInputText.cs
- SecurityPolicySection.cs
- IERequestCache.cs
- EvidenceTypeDescriptor.cs
- AtomicFile.cs
- DocumentPage.cs
- PropertyManager.cs
- NeutralResourcesLanguageAttribute.cs
- ReadingWritingEntityEventArgs.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ExpanderAutomationPeer.cs
- RIPEMD160Managed.cs
- DirectionalAction.cs
- Expression.DebuggerProxy.cs
- FactoryMaker.cs
- RayHitTestParameters.cs
- XamlTypeMapper.cs
- ProjectionPlanCompiler.cs
- PropertyPushdownHelper.cs
- ProcessManager.cs
- MaskedTextBoxDesigner.cs
- ToolStripRenderEventArgs.cs
- SafeProcessHandle.cs
- BrushConverter.cs
- ElementAction.cs
- MaskInputRejectedEventArgs.cs
- GroupItemAutomationPeer.cs
- HtmlTernaryTree.cs
- RevocationPoint.cs
- ObjectQuery.cs
- DataGridViewRowEventArgs.cs
- SqlException.cs
- ProtectedConfigurationSection.cs
- Events.cs
- MsmqOutputSessionChannel.cs
- EmptyEnumerable.cs
- PointUtil.cs
- SecurityState.cs
- ZipIOLocalFileBlock.cs
- ObjectStateFormatter.cs
- XPathException.cs
- TraversalRequest.cs
- CodeTypeReference.cs
- ConfigXmlAttribute.cs
- TraceInternal.cs
- FormViewDeletedEventArgs.cs
- XmlnsCompatibleWithAttribute.cs