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
- FileDialogCustomPlacesCollection.cs
- IndentedTextWriter.cs
- DbConnectionClosed.cs
- DataGridViewTextBoxEditingControl.cs
- UniformGrid.cs
- HitTestWithPointDrawingContextWalker.cs
- WindowsAuthenticationEventArgs.cs
- DynamicQueryStringParameter.cs
- ComboBoxRenderer.cs
- XPathBinder.cs
- ContractReference.cs
- ForceCopyBuildProvider.cs
- PolyLineSegment.cs
- XmlTextAttribute.cs
- EventMappingSettingsCollection.cs
- PropertyFilterAttribute.cs
- X509ChainPolicy.cs
- BaseInfoTable.cs
- FromReply.cs
- ConstructorBuilder.cs
- CodeIterationStatement.cs
- TraceContextEventArgs.cs
- BitmapFrame.cs
- Literal.cs
- Semaphore.cs
- Perspective.cs
- IdentityNotMappedException.cs
- ConfigurationLocation.cs
- PrintingPermissionAttribute.cs
- XmlUnspecifiedAttribute.cs
- ButtonFieldBase.cs
- OpenFileDialog.cs
- MsmqHostedTransportConfiguration.cs
- HitTestParameters3D.cs
- EntityDataSourceWizardForm.cs
- Separator.cs
- Bitmap.cs
- TemplateColumn.cs
- BufferedReadStream.cs
- XPathSelectionIterator.cs
- XpsFilter.cs
- Blend.cs
- StructuralObject.cs
- ProcessModuleCollection.cs
- DataGridViewRowHeaderCell.cs
- InternalResources.cs
- Transform.cs
- SimpleTypeResolver.cs
- DataGridViewRowHeaderCell.cs
- WeakReadOnlyCollection.cs
- NameValueFileSectionHandler.cs
- Function.cs
- GACIdentityPermission.cs
- __FastResourceComparer.cs
- CodeRegionDirective.cs
- DefaultBinder.cs
- XamlTemplateSerializer.cs
- XamlPoint3DCollectionSerializer.cs
- X509CertificateValidator.cs
- DbExpressionRules.cs
- SocketAddress.cs
- LocalValueEnumerator.cs
- ElementMarkupObject.cs
- SessionStateContainer.cs
- HandleDictionary.cs
- ILGenerator.cs
- ExpressionNormalizer.cs
- ContainerUIElement3D.cs
- DSACryptoServiceProvider.cs
- PersonalizationProviderHelper.cs
- StaticResourceExtension.cs
- XmlArrayAttribute.cs
- SymbolPair.cs
- ConfigurationValue.cs
- WebPartTracker.cs
- HttpResponseWrapper.cs
- HttpListenerElement.cs
- LeaseManager.cs
- GC.cs
- LocalizabilityAttribute.cs
- FileLevelControlBuilderAttribute.cs
- FixedSOMTable.cs
- DesignerActionPanel.cs
- FastPropertyAccessor.cs
- DoneReceivingAsyncResult.cs
- EntityDataSourceColumn.cs
- PropertyToken.cs
- ContentFileHelper.cs
- TriggerBase.cs
- LinkUtilities.cs
- FileStream.cs
- MessageHeaderDescription.cs
- DataControlCommands.cs
- SqlDataSourceCache.cs
- StringUtil.cs
- X509DefaultServiceCertificateElement.cs
- UnSafeCharBuffer.cs
- DataPagerFieldCommandEventArgs.cs
- DnsEndPoint.cs
- ReceiveContent.cs