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
- AccessViolationException.cs
- FunctionMappingTranslator.cs
- RawKeyboardInputReport.cs
- SelectionItemPatternIdentifiers.cs
- Win32.cs
- DeadCharTextComposition.cs
- SqlEnums.cs
- InstancePersistenceCommand.cs
- WindowsStatic.cs
- SqlException.cs
- XmlDataSourceView.cs
- PassportIdentity.cs
- SqlPersistenceProviderFactory.cs
- NativeMethodsOther.cs
- ToolStripRenderEventArgs.cs
- CodeMemberField.cs
- PagedDataSource.cs
- FontFamily.cs
- EventDescriptor.cs
- TableCell.cs
- SecurityUtils.cs
- RelatedEnd.cs
- XmlSchemaSimpleTypeUnion.cs
- XmlSchemaObjectTable.cs
- ButtonRenderer.cs
- Graphics.cs
- BulletedList.cs
- ReflectionServiceProvider.cs
- TriState.cs
- TextBoxBase.cs
- TextSelectionHighlightLayer.cs
- ChtmlImageAdapter.cs
- SettingsSection.cs
- DispatcherFrame.cs
- DataGridToolTip.cs
- DropDownList.cs
- DataGridViewTextBoxEditingControl.cs
- RegexBoyerMoore.cs
- TimeSpanValidatorAttribute.cs
- ErrorFormatterPage.cs
- ToolStripDropDown.cs
- TriggerBase.cs
- TableLayoutPanelCellPosition.cs
- ChildDocumentBlock.cs
- SQLDoubleStorage.cs
- SqlUnionizer.cs
- DetailsView.cs
- CellTreeNode.cs
- LinkUtilities.cs
- OpenTypeLayoutCache.cs
- ServiceRouteHandler.cs
- _NetRes.cs
- SuppressMessageAttribute.cs
- DateTimeOffset.cs
- XMLDiffLoader.cs
- ExpressionBinding.cs
- ElementsClipboardData.cs
- ServiceModelConfigurationSectionGroup.cs
- ValidateNames.cs
- MessageQueueInstaller.cs
- UnitySerializationHolder.cs
- BitHelper.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- NavigationEventArgs.cs
- UriExt.cs
- Type.cs
- EventWaitHandleSecurity.cs
- CategoryGridEntry.cs
- LocationSectionRecord.cs
- SelectionEditingBehavior.cs
- EdmProviderManifest.cs
- Accessors.cs
- LocatorGroup.cs
- QueryPageSettingsEventArgs.cs
- WebReferencesBuildProvider.cs
- MembershipPasswordException.cs
- ToolboxItemFilterAttribute.cs
- Ray3DHitTestResult.cs
- SchemaImporterExtension.cs
- SecurityCookieModeValidator.cs
- BuildProvidersCompiler.cs
- ADMembershipUser.cs
- CmsUtils.cs
- DesignerActionUIStateChangeEventArgs.cs
- SimpleHandlerBuildProvider.cs
- XmlWrappingWriter.cs
- PropertySegmentSerializer.cs
- TextBlock.cs
- LocatorGroup.cs
- ImageList.cs
- ConditionalExpression.cs
- ViewGenerator.cs
- mediaeventshelper.cs
- TaskFileService.cs
- DataContractJsonSerializer.cs
- StylusPointPropertyId.cs
- BindingObserver.cs
- DSASignatureFormatter.cs
- BitmapEffectInputData.cs
- VerificationException.cs