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
- StructuredTypeEmitter.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ToolStripArrowRenderEventArgs.cs
- DictionaryEntry.cs
- PointAnimationBase.cs
- SmtpNetworkElement.cs
- EntryPointNotFoundException.cs
- PanelDesigner.cs
- StreamInfo.cs
- Literal.cs
- AppDomainProtocolHandler.cs
- WebEventCodes.cs
- NativeMethods.cs
- EncoderParameters.cs
- InfoCardAsymmetricCrypto.cs
- URLAttribute.cs
- KeyboardNavigation.cs
- WindowsTab.cs
- XmlAttributeAttribute.cs
- CompressStream.cs
- CallTemplateAction.cs
- XhtmlBasicFormAdapter.cs
- SafeCancelMibChangeNotify.cs
- ValidatorUtils.cs
- TextSerializer.cs
- WhileDesigner.xaml.cs
- ApplicationServicesHostFactory.cs
- DbConnectionInternal.cs
- CounterSet.cs
- TimeSpan.cs
- PageContent.cs
- PersonalizationProvider.cs
- ChannelReliableSession.cs
- XMLSyntaxException.cs
- LOSFormatter.cs
- OleStrCAMarshaler.cs
- NavigatorOutput.cs
- OdbcEnvironment.cs
- XmlSchemaCompilationSettings.cs
- MaskDesignerDialog.cs
- CounterCreationDataCollection.cs
- SHA256Cng.cs
- ControllableStoryboardAction.cs
- ISAPIWorkerRequest.cs
- UriWriter.cs
- Formatter.cs
- SizeFConverter.cs
- SimpleFieldTemplateFactory.cs
- TextEditorLists.cs
- LinearQuaternionKeyFrame.cs
- SubclassTypeValidator.cs
- SafeMarshalContext.cs
- DbSetClause.cs
- FileLevelControlBuilderAttribute.cs
- ConfigurationSectionGroupCollection.cs
- DbMetaDataColumnNames.cs
- ConsumerConnectionPoint.cs
- SelectedGridItemChangedEvent.cs
- UnsafeNativeMethodsTablet.cs
- TypedElement.cs
- OleDbConnectionFactory.cs
- XmlName.cs
- ValidationHelper.cs
- SmiConnection.cs
- XmlUtilWriter.cs
- TrimSurroundingWhitespaceAttribute.cs
- VerificationException.cs
- ResourceCategoryAttribute.cs
- SmiContext.cs
- CrossSiteScriptingValidation.cs
- WindowsTokenRoleProvider.cs
- COM2PropertyDescriptor.cs
- SByteConverter.cs
- Rect.cs
- PreviewKeyDownEventArgs.cs
- GC.cs
- OrthographicCamera.cs
- WebException.cs
- ExternalException.cs
- ParameterElementCollection.cs
- ProfilePropertySettings.cs
- AnnotationComponentManager.cs
- AlgoModule.cs
- XPathDescendantIterator.cs
- RawMouseInputReport.cs
- ColumnResult.cs
- IconConverter.cs
- CallbackDebugBehavior.cs
- OdbcReferenceCollection.cs
- WebPartVerbCollection.cs
- ApplicationServiceHelper.cs
- configsystem.cs
- __ConsoleStream.cs
- PrintPreviewControl.cs
- TemplateBuilder.cs
- Tuple.cs
- WebPartDescriptionCollection.cs
- InstancePersistenceCommandException.cs
- SHA1CryptoServiceProvider.cs
- SqlServices.cs