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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ImageInfo.cs
- MSHTMLHost.cs
- AspNetSynchronizationContext.cs
- HtmlForm.cs
- NetworkInterface.cs
- TerminatorSinks.cs
- ActionFrame.cs
- DataGridViewEditingControlShowingEventArgs.cs
- ReferenceCountedObject.cs
- SystemDiagnosticsSection.cs
- TypedServiceOperationListItem.cs
- GlobalizationSection.cs
- TableRowGroup.cs
- PathFigure.cs
- QueryResult.cs
- ObjectParameterCollection.cs
- OuterProxyWrapper.cs
- PieceDirectory.cs
- TogglePattern.cs
- DataGridViewCellParsingEventArgs.cs
- PageContent.cs
- CompoundFileIOPermission.cs
- StorageEndPropertyMapping.cs
- UnmanagedMemoryStreamWrapper.cs
- TypeElement.cs
- Converter.cs
- XmlArrayItemAttribute.cs
- ExclusiveCanonicalizationTransform.cs
- XPathScanner.cs
- LocatorPart.cs
- DisableDpiAwarenessAttribute.cs
- ColumnResizeUndoUnit.cs
- SplitterCancelEvent.cs
- LabelAutomationPeer.cs
- Html32TextWriter.cs
- WebPartConnection.cs
- ObjectCloneHelper.cs
- FormattedTextSymbols.cs
- Resources.Designer.cs
- RenameRuleObjectDialog.Designer.cs
- UnionExpr.cs
- BaseParser.cs
- BaseDataBoundControl.cs
- Camera.cs
- PtsPage.cs
- XComponentModel.cs
- SafeEventLogReadHandle.cs
- UriScheme.cs
- ForwardPositionQuery.cs
- PartitionResolver.cs
- User.cs
- TableLayoutPanelCellPosition.cs
- ImageMap.cs
- SystemGatewayIPAddressInformation.cs
- DbConnectionOptions.cs
- XmlAttributes.cs
- CustomAttributeFormatException.cs
- PerspectiveCamera.cs
- HtmlControl.cs
- ServiceReflector.cs
- ThicknessAnimationUsingKeyFrames.cs
- PasswordDeriveBytes.cs
- ColorMap.cs
- ContentFilePart.cs
- SafeNativeMethodsCLR.cs
- HwndAppCommandInputProvider.cs
- MsmqIntegrationInputMessage.cs
- SessionEndingEventArgs.cs
- GridSplitter.cs
- SecurityContext.cs
- NoResizeHandleGlyph.cs
- FixedHyperLink.cs
- HyperlinkAutomationPeer.cs
- basecomparevalidator.cs
- XmlSchemaInferenceException.cs
- DocumentApplication.cs
- _ConnectOverlappedAsyncResult.cs
- ProfileEventArgs.cs
- LinearGradientBrush.cs
- SystemInformation.cs
- ServicesUtilities.cs
- SQLBytesStorage.cs
- MethodImplAttribute.cs
- OleDbRowUpdatedEvent.cs
- ResourceExpressionBuilder.cs
- DocumentReference.cs
- SQLChars.cs
- SqlMetaData.cs
- HiddenField.cs
- ChannelDemuxer.cs
- ExtendedProperty.cs
- ComponentResourceKeyConverter.cs
- TextEditorThreadLocalStore.cs
- InputChannelAcceptor.cs
- TraceXPathNavigator.cs
- BasicBrowserDialog.cs
- EventLogInformation.cs
- StringUtil.cs
- FixedSOMContainer.cs
- RawStylusInputReport.cs