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
- Constants.cs
- Object.cs
- Convert.cs
- PartBasedPackageProperties.cs
- loginstatus.cs
- SafePointer.cs
- SpecularMaterial.cs
- WebPartChrome.cs
- XmlLoader.cs
- DetailsViewModeEventArgs.cs
- metadatamappinghashervisitor.cs
- ComponentDispatcher.cs
- Evaluator.cs
- CompilerWrapper.cs
- HtmlUtf8RawTextWriter.cs
- ValidationPropertyAttribute.cs
- PenContexts.cs
- XPathBinder.cs
- Query.cs
- TableLayoutPanelCellPosition.cs
- ClientSettingsSection.cs
- HttpCookiesSection.cs
- ReflectionServiceProvider.cs
- TileBrush.cs
- AssociationSetEnd.cs
- XmlCollation.cs
- storepermission.cs
- DataStreams.cs
- PolygonHotSpot.cs
- WebPartCollection.cs
- WebFaultException.cs
- SQLBinary.cs
- ADMembershipProvider.cs
- SerialErrors.cs
- BufferedReceiveElement.cs
- CodeArrayCreateExpression.cs
- ParentUndoUnit.cs
- DateTimeUtil.cs
- DictionarySurrogate.cs
- LinqDataSourceHelper.cs
- BaseCollection.cs
- SpellerStatusTable.cs
- SimpleHandlerFactory.cs
- OrderedDictionary.cs
- VBCodeProvider.cs
- MobileContainerDesigner.cs
- NativeMethods.cs
- ContentElement.cs
- ListBoxChrome.cs
- TcpAppDomainProtocolHandler.cs
- FontCollection.cs
- WebEventCodes.cs
- RadioButtonPopupAdapter.cs
- SafePipeHandle.cs
- FixedSOMSemanticBox.cs
- RemoveStoryboard.cs
- BaseTreeIterator.cs
- DataBindEngine.cs
- RegexCompilationInfo.cs
- TextEncodedRawTextWriter.cs
- PersistenceTypeAttribute.cs
- CodeGroup.cs
- SimplePropertyEntry.cs
- PostBackOptions.cs
- SwitchAttribute.cs
- SymmetricCryptoHandle.cs
- BlockUIContainer.cs
- CompoundFileStorageReference.cs
- ContentValidator.cs
- TransportSecurityProtocolFactory.cs
- Annotation.cs
- TrackBarRenderer.cs
- HeaderLabel.cs
- ConfigXmlWhitespace.cs
- SequentialUshortCollection.cs
- RenderDataDrawingContext.cs
- DataListCommandEventArgs.cs
- QueueAccessMode.cs
- EventLogInformation.cs
- HandlerMappingMemo.cs
- dbdatarecord.cs
- PackWebResponse.cs
- PackageStore.cs
- DeviceContext.cs
- CodeValidator.cs
- ZipIOExtraFieldZip64Element.cs
- XPathParser.cs
- CodeIterationStatement.cs
- recordstate.cs
- SystemTcpStatistics.cs
- UrlAuthFailedErrorFormatter.cs
- ConfigXmlComment.cs
- XPathSingletonIterator.cs
- controlskin.cs
- TransformPattern.cs
- EventLogTraceListener.cs
- Rotation3DKeyFrameCollection.cs
- TypefaceCollection.cs
- StateItem.cs
- GifBitmapEncoder.cs