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
- SqlParameter.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- GenericWebPart.cs
- DesignerLinkAdapter.cs
- ReaderWriterLockWrapper.cs
- XamlReaderHelper.cs
- DataTableReaderListener.cs
- XXXInfos.cs
- ResourceExpressionBuilder.cs
- CodeTypeDeclarationCollection.cs
- ItemsControlAutomationPeer.cs
- IntranetCredentialPolicy.cs
- SingleTagSectionHandler.cs
- ObjectStateFormatter.cs
- SafeCoTaskMem.cs
- ToolStripContentPanelRenderEventArgs.cs
- QualifierSet.cs
- DesignTimeTemplateParser.cs
- SqlBulkCopyColumnMappingCollection.cs
- NamespaceInfo.cs
- RestClientProxyHandler.cs
- AlignmentYValidation.cs
- ListViewItem.cs
- StaticSiteMapProvider.cs
- Int32Rect.cs
- AttachedPropertyMethodSelector.cs
- DataGridViewColumnCollection.cs
- WorkflowInstanceQuery.cs
- XsltSettings.cs
- ObjectViewEntityCollectionData.cs
- MetabaseServerConfig.cs
- CancelEventArgs.cs
- SoapObjectReader.cs
- IpcPort.cs
- ManagedFilter.cs
- ConfigXmlText.cs
- SessionStateContainer.cs
- StatusBarPanelClickEvent.cs
- ReadOnlyDictionary.cs
- EdmType.cs
- TraceUtils.cs
- ClientRuntimeConfig.cs
- SqlDuplicator.cs
- WebPartPersonalization.cs
- InstanceLockException.cs
- DbProviderFactoriesConfigurationHandler.cs
- InkCanvasSelectionAdorner.cs
- ToolboxControl.cs
- TextDecorationCollection.cs
- EventToken.cs
- SymbolEqualComparer.cs
- XPathItem.cs
- FilteredReadOnlyMetadataCollection.cs
- TypeSemantics.cs
- AssociationSetEnd.cs
- ConfigXmlElement.cs
- HttpException.cs
- StorageComplexPropertyMapping.cs
- EntityDataSourceMemberPath.cs
- ZipIOModeEnforcingStream.cs
- OdbcUtils.cs
- JumpTask.cs
- SerialErrors.cs
- DesignTimeTemplateParser.cs
- MetadataSerializer.cs
- DuplicateWaitObjectException.cs
- Parser.cs
- DataTemplateKey.cs
- ConfigXmlCDataSection.cs
- SiteMapNodeItem.cs
- ArrayExtension.cs
- TraceUtility.cs
- XmlSchemaAttributeGroup.cs
- PropertyEntry.cs
- Executor.cs
- MenuItemStyle.cs
- SafeNativeMethods.cs
- BuildDependencySet.cs
- StatusStrip.cs
- UnsafeNativeMethods.cs
- ReadOnlyDataSource.cs
- WebSysDescriptionAttribute.cs
- MessagePropertyFilter.cs
- CategoryNameCollection.cs
- PatternMatcher.cs
- HwndKeyboardInputProvider.cs
- login.cs
- X509Certificate.cs
- ApplicationInfo.cs
- FunctionDefinition.cs
- MachineKeyConverter.cs
- SplitterEvent.cs
- MenuItem.cs
- XmlNamespaceDeclarationsAttribute.cs
- DataServiceCollectionOfT.cs
- MethodImplAttribute.cs
- _KerberosClient.cs
- DocumentGridPage.cs
- PolyLineSegment.cs
- GeneralTransform3DCollection.cs