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
- WebConfigurationFileMap.cs
- ColorPalette.cs
- FlowchartDesigner.Helpers.cs
- SizeConverter.cs
- RoleManagerSection.cs
- SerializationInfoEnumerator.cs
- CultureTableRecord.cs
- UnsafeNativeMethods.cs
- AggregateException.cs
- Tag.cs
- ItemAutomationPeer.cs
- CatalogZoneDesigner.cs
- Column.cs
- precedingsibling.cs
- CachedFontFamily.cs
- DrawingAttributesDefaultValueFactory.cs
- UserUseLicenseDictionaryLoader.cs
- OleDbWrapper.cs
- InternalEnumValidator.cs
- StylusPlugInCollection.cs
- SingleAnimationBase.cs
- LineServices.cs
- ToolBarButton.cs
- DiagnosticTraceSchemas.cs
- BaseAutoFormat.cs
- AsyncOperationContext.cs
- RegexCapture.cs
- XmlSiteMapProvider.cs
- XmlSchemaInclude.cs
- LoggedException.cs
- SmiEventStream.cs
- oledbmetadatacollectionnames.cs
- GridItemPattern.cs
- Dictionary.cs
- X509RawDataKeyIdentifierClause.cs
- Error.cs
- NavigationPropertySingletonExpression.cs
- WorkflowDefinitionDispenser.cs
- ClientProxyGenerator.cs
- RowCache.cs
- TrustSection.cs
- WebPartDisplayModeCancelEventArgs.cs
- QueryContinueDragEvent.cs
- Attributes.cs
- DesignTimeTemplateParser.cs
- CustomAssemblyResolver.cs
- InvalidCastException.cs
- IteratorDescriptor.cs
- FileDialog_Vista_Interop.cs
- OlePropertyStructs.cs
- KnownBoxes.cs
- Int32Animation.cs
- ServiceX509SecurityTokenProvider.cs
- DataGridViewColumnCollection.cs
- ReverseInheritProperty.cs
- WorkflowApplicationUnloadedException.cs
- ExtendedPropertyCollection.cs
- AnnotationObservableCollection.cs
- MaterialGroup.cs
- SQLSingleStorage.cs
- ZipIOCentralDirectoryBlock.cs
- RelatedCurrencyManager.cs
- webeventbuffer.cs
- SimpleWebHandlerParser.cs
- TabPanel.cs
- ForAllOperator.cs
- CollectionChange.cs
- RemotingAttributes.cs
- CodePropertyReferenceExpression.cs
- ObjectToIdCache.cs
- AppManager.cs
- DrawingServices.cs
- HashJoinQueryOperatorEnumerator.cs
- FileLevelControlBuilderAttribute.cs
- AuthenticationSection.cs
- MsmqInputChannelListenerBase.cs
- TemplateXamlParser.cs
- WebPartDeleteVerb.cs
- Rule.cs
- RepeaterDataBoundAdapter.cs
- FontSourceCollection.cs
- SQLDecimalStorage.cs
- SecurityTokenReferenceStyle.cs
- ContextMenu.cs
- ObjectDisposedException.cs
- GlyphsSerializer.cs
- Window.cs
- SubclassTypeValidator.cs
- PropertyCollection.cs
- HttpServerVarsCollection.cs
- PolyLineSegment.cs
- EditorBrowsableAttribute.cs
- SrgsSubset.cs
- selecteditemcollection.cs
- WebPartDisplayModeCollection.cs
- WSDualHttpBindingCollectionElement.cs
- EdmComplexPropertyAttribute.cs
- EntityTemplateFactory.cs
- TransformerConfigurationWizardBase.cs
- PeerEndPoint.cs