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
- PolicyManager.cs
- EventArgs.cs
- PageAdapter.cs
- WindowVisualStateTracker.cs
- DesignerFrame.cs
- OpenTypeLayout.cs
- SourceElementsCollection.cs
- XamlGridLengthSerializer.cs
- XmlExceptionHelper.cs
- CodeSpit.cs
- DataList.cs
- InlineUIContainer.cs
- HttpResponseInternalWrapper.cs
- ListBoxItem.cs
- CaretElement.cs
- NopReturnReader.cs
- MouseGestureConverter.cs
- StringCollection.cs
- DemultiplexingClientMessageFormatter.cs
- UnitySerializationHolder.cs
- NativeMethods.cs
- StyleXamlTreeBuilder.cs
- BlurBitmapEffect.cs
- DocumentEventArgs.cs
- PageBuildProvider.cs
- CompositeActivityDesigner.cs
- ResizeGrip.cs
- ObjectSecurity.cs
- TextParagraphProperties.cs
- DesignerActionItem.cs
- ControlBuilder.cs
- DateTime.cs
- EventManager.cs
- FileDialogCustomPlaces.cs
- PerformanceCounter.cs
- Configuration.cs
- BypassElement.cs
- shaperfactoryquerycachekey.cs
- _AuthenticationState.cs
- RTLAwareMessageBox.cs
- RenamedEventArgs.cs
- StorageComplexPropertyMapping.cs
- NegotiateStream.cs
- Repeater.cs
- DataBoundControlAdapter.cs
- GridSplitterAutomationPeer.cs
- StateValidator.cs
- XPathSingletonIterator.cs
- DropShadowEffect.cs
- LinkUtilities.cs
- GatewayDefinition.cs
- ArraySortHelper.cs
- DbCommandDefinition.cs
- BaseServiceProvider.cs
- HyperLink.cs
- SingleAnimationBase.cs
- ErrorWrapper.cs
- CounterCreationDataConverter.cs
- BlobPersonalizationState.cs
- Expander.cs
- XmlExceptionHelper.cs
- EventEntry.cs
- OleDbPermission.cs
- StorageEntityContainerMapping.cs
- activationcontext.cs
- XmlnsDefinitionAttribute.cs
- _Connection.cs
- GridViewDeletedEventArgs.cs
- SafeSystemMetrics.cs
- ObjectListSelectEventArgs.cs
- SqlError.cs
- XPathNavigatorKeyComparer.cs
- BitmapImage.cs
- DataSourceDesigner.cs
- SafePipeHandle.cs
- OleDbRowUpdatingEvent.cs
- MailMessage.cs
- SafeReversePInvokeHandle.cs
- PropertySet.cs
- URL.cs
- ExtensibleSyndicationObject.cs
- DoubleCollection.cs
- Thread.cs
- GcHandle.cs
- RtfToXamlLexer.cs
- ValueTable.cs
- Form.cs
- COM2EnumConverter.cs
- EditingMode.cs
- BigInt.cs
- SpeechRecognitionEngine.cs
- DataTemplateSelector.cs
- OdbcFactory.cs
- XmlSchemaSimpleTypeUnion.cs
- InternalCache.cs
- ResourceManager.cs
- TableCell.cs
- BaseCollection.cs
- CopyCodeAction.cs
- StylusPoint.cs