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
- SetUserPreferenceRequest.cs
- SpAudioStreamWrapper.cs
- ImageList.cs
- FormsIdentity.cs
- BitmapFrameDecode.cs
- Group.cs
- UnaryQueryOperator.cs
- BufferedStream.cs
- XMLSyntaxException.cs
- OutOfMemoryException.cs
- XmlArrayAttribute.cs
- ProcessModelSection.cs
- Attributes.cs
- SqlTypeConverter.cs
- UserControl.cs
- Hyperlink.cs
- TextSpan.cs
- LicFileLicenseProvider.cs
- TextBoxDesigner.cs
- VerticalAlignConverter.cs
- TextRangeProviderWrapper.cs
- DbConnectionPoolIdentity.cs
- Attributes.cs
- BounceEase.cs
- TreeNodeBindingCollection.cs
- MediaPlayerState.cs
- ECDsaCng.cs
- Switch.cs
- QueryContinueDragEventArgs.cs
- DataObjectEventArgs.cs
- RequestQueryParser.cs
- XmlSignatureProperties.cs
- ConsoleTraceListener.cs
- ContourSegment.cs
- WebAdminConfigurationHelper.cs
- AnnotationStore.cs
- SafeFileHandle.cs
- TextureBrush.cs
- WebPartVerbCollection.cs
- HtmlInputSubmit.cs
- SqlLiftWhereClauses.cs
- StructuralCache.cs
- SimpleHandlerBuildProvider.cs
- TextDocumentView.cs
- RegexBoyerMoore.cs
- XmlProcessingInstruction.cs
- Simplifier.cs
- DataProtection.cs
- AsymmetricCryptoHandle.cs
- CodeIdentifier.cs
- Wizard.cs
- CheckedPointers.cs
- ArrayList.cs
- Types.cs
- Workspace.cs
- CommentGlyph.cs
- AppDomainManager.cs
- DataTableMappingCollection.cs
- Switch.cs
- EntityDataSourceQueryBuilder.cs
- MouseBinding.cs
- CreateRefExpr.cs
- Utils.cs
- ProcessThread.cs
- WorkflowPrinting.cs
- Command.cs
- DictionaryBase.cs
- AlignmentXValidation.cs
- StringFunctions.cs
- RoutedEvent.cs
- RuleSettingsCollection.cs
- HtmlLiteralTextAdapter.cs
- ContentHostHelper.cs
- BevelBitmapEffect.cs
- XmlQuerySequence.cs
- TextEditorTyping.cs
- Classification.cs
- ReferenceList.cs
- BamlBinaryWriter.cs
- DependencyObjectProvider.cs
- WsatExtendedInformation.cs
- RequestBringIntoViewEventArgs.cs
- CodeConstructor.cs
- AspNetPartialTrustHelpers.cs
- FormsAuthenticationEventArgs.cs
- QuaternionRotation3D.cs
- Int64Storage.cs
- MdiWindowListStrip.cs
- MatrixConverter.cs
- ObjectPropertyMapping.cs
- SwitchElementsCollection.cs
- HandledMouseEvent.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- LinqDataSourceValidationException.cs
- DescendantQuery.cs
- RestClientProxyHandler.cs
- TypeConverter.cs
- ModulesEntry.cs
- XmlSchemaSet.cs
- SqlCaseSimplifier.cs