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
- TypeForwardedToAttribute.cs
- HttpWebRequest.cs
- TransformDescriptor.cs
- followingsibling.cs
- PostBackTrigger.cs
- DataGridViewCellValueEventArgs.cs
- NotFiniteNumberException.cs
- ImageSource.cs
- httpstaticobjectscollection.cs
- QuinticEase.cs
- XmlDictionaryReaderQuotas.cs
- BitmapCodecInfoInternal.cs
- AssociationProvider.cs
- ImageAttributes.cs
- MenuItemStyle.cs
- Attributes.cs
- PageAsyncTask.cs
- ObjectSet.cs
- SiteMap.cs
- XmlSchemaRedefine.cs
- GlyphRunDrawing.cs
- TrackBarRenderer.cs
- XamlStream.cs
- WebPartZone.cs
- ReflectionUtil.cs
- CompressEmulationStream.cs
- SiteMapProvider.cs
- SetState.cs
- ColorDialog.cs
- KeysConverter.cs
- MenuItemBindingCollection.cs
- RenderData.cs
- Stack.cs
- InputReportEventArgs.cs
- CacheHelper.cs
- OleDbParameterCollection.cs
- PropertyChange.cs
- XamlPathDataSerializer.cs
- HttpRequestContext.cs
- QuadraticBezierSegment.cs
- ConfigurationStrings.cs
- PropertyChangedEventArgs.cs
- XPathPatternBuilder.cs
- RootNamespaceAttribute.cs
- SystemDropShadowChrome.cs
- HtmlTitle.cs
- PresentationTraceSources.cs
- IISUnsafeMethods.cs
- ResourceProviderFactory.cs
- StateMachine.cs
- returneventsaver.cs
- GridItemPattern.cs
- WeakRefEnumerator.cs
- FrameworkElementFactoryMarkupObject.cs
- HMACSHA256.cs
- DesignerLoader.cs
- CollectionBuilder.cs
- UshortList2.cs
- SafeSecurityHandles.cs
- followingsibling.cs
- CodeIdentifier.cs
- ContractCodeDomInfo.cs
- SurrogateSelector.cs
- HostSecurityManager.cs
- DashStyles.cs
- ExtenderHelpers.cs
- Camera.cs
- MimeMultiPart.cs
- ApplicationServicesHostFactory.cs
- SqlIdentifier.cs
- EllipseGeometry.cs
- WindowsSolidBrush.cs
- MULTI_QI.cs
- SystemWebExtensionsSectionGroup.cs
- RuntimeHelpers.cs
- OdbcEnvironment.cs
- FullTrustAssembliesSection.cs
- EntityCollection.cs
- Operator.cs
- ViewBase.cs
- WebPartEditorApplyVerb.cs
- RichTextBoxConstants.cs
- DataGridTextColumn.cs
- ExpressionBuilderContext.cs
- XmlTextAttribute.cs
- RootBrowserWindow.cs
- DoWorkEventArgs.cs
- SendMailErrorEventArgs.cs
- SmtpSection.cs
- FixedDSBuilder.cs
- EventSourceCreationData.cs
- PersonalizationAdministration.cs
- Vector.cs
- ConfigurationLoader.cs
- CriticalExceptions.cs
- VirtualPath.cs
- FlowDocumentScrollViewer.cs
- TextBox.cs
- InstanceData.cs
- ViewKeyConstraint.cs