Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / InertiaRotationBehavior.cs / 1305600 / InertiaRotationBehavior.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 InertiaRotationBehavior { ////// Instantiates a new instance of this class. /// public InertiaRotationBehavior() { } ////// Instantiates a new instance of this class. /// internal InertiaRotationBehavior(double initialVelocity) { _initialVelocity = initialVelocity; } ////// The initial rate of angular change of the element at the start of the inertia phase in degrees/ms. /// public double InitialVelocity { get { return _initialVelocity; } set { _isInitialVelocitySet = true; _initialVelocity = value; } } ////// The desired rate of change of velocity in degrees/ms^2. /// public double DesiredDeceleration { get { return _desiredDeceleration; } set { if (Double.IsInfinity(value) || Double.IsNaN(value)) { throw new ArgumentOutOfRangeException("value"); } _isDesiredDecelerationSet = true; _desiredDeceleration = value; _isDesiredRotationSet = false; _desiredRotation = double.NaN; } } ////// The desired total change in angle in degrees. /// public double DesiredRotation { get { return _desiredRotation; } set { if (Double.IsInfinity(value) || Double.IsNaN(value)) { throw new ArgumentOutOfRangeException("value"); } _isDesiredRotationSet = true; _desiredRotation = value; _isDesiredDecelerationSet = false; _desiredDeceleration = double.NaN; } } internal bool CanUseForInertia() { return _isInitialVelocitySet || _isDesiredDecelerationSet || _isDesiredRotationSet; } internal static void ApplyParameters(InertiaRotationBehavior behavior, InertiaProcessor2D processor, double initialVelocity) { if (behavior != null && behavior.CanUseForInertia()) { InertiaRotationBehavior2D behavior2D = new InertiaRotationBehavior2D(); if (behavior._isInitialVelocitySet) { behavior2D.InitialVelocity = (float)AngleUtil.DegreesToRadians(behavior._initialVelocity); } else { behavior2D.InitialVelocity = (float)AngleUtil.DegreesToRadians(initialVelocity); } if (behavior._isDesiredDecelerationSet) { behavior2D.DesiredDeceleration = (float)AngleUtil.DegreesToRadians(behavior._desiredDeceleration); } if (behavior._isDesiredRotationSet) { behavior2D.DesiredRotation = (float)AngleUtil.DegreesToRadians(behavior._desiredRotation); } processor.RotationBehavior = behavior2D; } } private bool _isInitialVelocitySet; private double _initialVelocity = double.NaN; private bool _isDesiredDecelerationSet; private double _desiredDeceleration = double.NaN; private bool _isDesiredRotationSet; private double _desiredRotation = 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
- SpeechSeg.cs
- ListControl.cs
- DynamicRendererThreadManager.cs
- FixedHyperLink.cs
- WindowsFormsSynchronizationContext.cs
- HttpHandlerAction.cs
- SHA384Managed.cs
- FormViewPageEventArgs.cs
- XmlCharCheckingWriter.cs
- RowsCopiedEventArgs.cs
- DescendentsWalkerBase.cs
- StylusCollection.cs
- TraceContextEventArgs.cs
- ButtonRenderer.cs
- QilInvokeLateBound.cs
- WindowsScrollBarBits.cs
- KeyConstraint.cs
- DocumentXmlWriter.cs
- FullTextState.cs
- FontStretchConverter.cs
- XmlSchemaExporter.cs
- XmlReflectionImporter.cs
- ApplicationDirectory.cs
- HierarchicalDataBoundControl.cs
- ProfileServiceManager.cs
- ProjectionPruner.cs
- DataSourceCache.cs
- DatatypeImplementation.cs
- SafeBitVector32.cs
- AuthenticatedStream.cs
- mactripleDES.cs
- DataContractSerializerOperationBehavior.cs
- IntegerValidatorAttribute.cs
- DefaultBindingPropertyAttribute.cs
- EventLogEntry.cs
- CharacterString.cs
- CryptographicAttribute.cs
- Menu.cs
- ListDataHelper.cs
- PersonalizationProviderCollection.cs
- RoutedCommand.cs
- ConnectionConsumerAttribute.cs
- TagPrefixAttribute.cs
- OdbcConnectionFactory.cs
- SystemMulticastIPAddressInformation.cs
- GroupBox.cs
- SqlUtils.cs
- SchemaCompiler.cs
- VisualTreeUtils.cs
- hwndwrapper.cs
- QueryExpr.cs
- SliderAutomationPeer.cs
- PlanCompiler.cs
- SqlDataSourceCommandEventArgs.cs
- CharacterBuffer.cs
- VectorConverter.cs
- SingleKeyFrameCollection.cs
- SQLBytesStorage.cs
- DispatcherObject.cs
- KeyGestureValueSerializer.cs
- HotSpot.cs
- InlinedLocationReference.cs
- HyperLinkField.cs
- ClassHandlersStore.cs
- AmbientValueAttribute.cs
- Win32MouseDevice.cs
- ConfigurationPropertyAttribute.cs
- RoleGroupCollectionEditor.cs
- ServiceOperationUIEditor.cs
- ToolStripContainer.cs
- DelayedRegex.cs
- IconBitmapDecoder.cs
- StyleBamlTreeBuilder.cs
- CollectionDataContract.cs
- AspCompat.cs
- MultiByteCodec.cs
- ExpressionBuilderCollection.cs
- AuthorizationRuleCollection.cs
- GroupQuery.cs
- ControlSerializer.cs
- CellPartitioner.cs
- HintTextMaxWidthConverter.cs
- OdbcParameterCollection.cs
- TextEditorCopyPaste.cs
- ValueTypeFixupInfo.cs
- AttributeCollection.cs
- MimeMapping.cs
- CounterSetInstanceCounterDataSet.cs
- XamlTemplateSerializer.cs
- FontCollection.cs
- RewritingValidator.cs
- ProcessHost.cs
- RichTextBox.cs
- RC2.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- RNGCryptoServiceProvider.cs
- StorageInfo.cs
- TokenBasedSetEnumerator.cs
- X509LogoTypeExtension.cs
- AuthenticationSection.cs