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
- ChtmlPhoneCallAdapter.cs
- StubHelpers.cs
- CheckBoxPopupAdapter.cs
- AudienceUriMode.cs
- TraceSection.cs
- WindowCollection.cs
- Socket.cs
- HwndMouseInputProvider.cs
- WaitHandleCannotBeOpenedException.cs
- InvokeHandlers.cs
- DatatypeImplementation.cs
- QuaternionKeyFrameCollection.cs
- MulticastIPAddressInformationCollection.cs
- CodeCatchClause.cs
- ProfileGroupSettings.cs
- OrderByQueryOptionExpression.cs
- CreateInstanceBinder.cs
- MenuScrollingVisibilityConverter.cs
- PropertyChangingEventArgs.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- EntityDataSourceReferenceGroup.cs
- ResourceDescriptionAttribute.cs
- XPathNavigator.cs
- LicFileLicenseProvider.cs
- CancellationHandlerDesigner.cs
- ComAdminInterfaces.cs
- GlyphingCache.cs
- TerminatorSinks.cs
- VerificationAttribute.cs
- JsonServiceDocumentSerializer.cs
- SqlConnectionManager.cs
- Track.cs
- HelpKeywordAttribute.cs
- XmlDocumentFragment.cs
- ResourceProviderFactory.cs
- ViewGenResults.cs
- StackSpiller.Temps.cs
- PartialClassGenerationTaskInternal.cs
- FixedSOMTable.cs
- LookupBindingPropertiesAttribute.cs
- WebBrowserSiteBase.cs
- Base64Stream.cs
- Scheduling.cs
- OleDbSchemaGuid.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- PreDigestedSignedInfo.cs
- ToolStrip.cs
- XomlSerializationHelpers.cs
- ToolConsole.cs
- MatrixCamera.cs
- DbSetClause.cs
- KeySpline.cs
- HTMLTextWriter.cs
- CookielessHelper.cs
- MasterPageBuildProvider.cs
- CapabilitiesAssignment.cs
- WebPartZoneCollection.cs
- Pair.cs
- ExpressionBinding.cs
- XmlEntityReference.cs
- Int16KeyFrameCollection.cs
- ToolStripContainerDesigner.cs
- ParentQuery.cs
- XPathSelectionIterator.cs
- Int32AnimationUsingKeyFrames.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- LazyTextWriterCreator.cs
- WindowsEditBoxRange.cs
- AudioSignalProblemOccurredEventArgs.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- ClientClassGenerator.cs
- XPathItem.cs
- UriExt.cs
- shaper.cs
- FromReply.cs
- DocobjHost.cs
- ScalarConstant.cs
- HttpCookie.cs
- ImageSourceValueSerializer.cs
- ContractNamespaceAttribute.cs
- GrammarBuilderRuleRef.cs
- TableLayoutCellPaintEventArgs.cs
- ToggleProviderWrapper.cs
- SchemaSetCompiler.cs
- BindToObject.cs
- PromptBuilder.cs
- CrossSiteScriptingValidation.cs
- ColumnTypeConverter.cs
- NonVisualControlAttribute.cs
- ProcessManager.cs
- UpdateException.cs
- FormatterServices.cs
- SetStateDesigner.cs
- DefaultEventAttribute.cs
- CursorInteropHelper.cs
- IHttpResponseInternal.cs
- QilSortKey.cs
- GridViewSelectEventArgs.cs
- DateTimeSerializationSection.cs
- FlowDocument.cs