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
- MaskInputRejectedEventArgs.cs
- SchemaTableColumn.cs
- DbException.cs
- Logging.cs
- ListSortDescription.cs
- EffectiveValueEntry.cs
- TemplateControlCodeDomTreeGenerator.cs
- StringValidatorAttribute.cs
- __ComObject.cs
- MouseCaptureWithinProperty.cs
- DocumentPageViewAutomationPeer.cs
- DrawingBrush.cs
- ExcCanonicalXml.cs
- XmlAttributes.cs
- XmlSchemaImporter.cs
- StateMachineSubscription.cs
- SRef.cs
- Utils.cs
- TextParagraphCache.cs
- DBConnection.cs
- RegistrationServices.cs
- EntityModelSchemaGenerator.cs
- FrameworkTextComposition.cs
- ImageSourceValueSerializer.cs
- GeometryGroup.cs
- SpanIndex.cs
- AppDomain.cs
- MatchingStyle.cs
- XPathCompileException.cs
- SqlComparer.cs
- CatalogPartChrome.cs
- safesecurityhelperavalon.cs
- NestedContainer.cs
- InkCanvasSelectionAdorner.cs
- Brush.cs
- ZipIOCentralDirectoryBlock.cs
- XmlSchemaValidationException.cs
- DLinqTableProvider.cs
- IssuedSecurityTokenProvider.cs
- Variant.cs
- CookieParameter.cs
- DummyDataSource.cs
- OciEnlistContext.cs
- OutputCacheSettingsSection.cs
- LinkDescriptor.cs
- ProjectionCamera.cs
- ToolboxControl.cs
- _SecureChannel.cs
- ClientTargetSection.cs
- InstanceData.cs
- DirectionalLight.cs
- RegexMatch.cs
- CustomAttributeBuilder.cs
- CodeDirectoryCompiler.cs
- TraceSection.cs
- CompositionAdorner.cs
- FamilyMap.cs
- ScaleTransform.cs
- PeerNearMe.cs
- RightsManagementPermission.cs
- DeadCharTextComposition.cs
- ButtonBaseAdapter.cs
- FlowLayoutSettings.cs
- WorkflowControlEndpoint.cs
- InputChannelBinder.cs
- Int32AnimationBase.cs
- Debug.cs
- HttpChannelHelper.cs
- XPathBinder.cs
- OdbcFactory.cs
- BamlTreeUpdater.cs
- ThrowOnMultipleAssignment.cs
- CryptoApi.cs
- updatecommandorderer.cs
- PanelStyle.cs
- FileReservationCollection.cs
- figurelengthconverter.cs
- SessionViewState.cs
- MessageRpc.cs
- ToggleButtonAutomationPeer.cs
- embossbitmapeffect.cs
- ZipIORawDataFileBlock.cs
- ObjectDataSourceDisposingEventArgs.cs
- ObjectDisposedException.cs
- XmlSchemaDocumentation.cs
- FontInfo.cs
- WebBaseEventKeyComparer.cs
- SecurityDocument.cs
- RowsCopiedEventArgs.cs
- FontSourceCollection.cs
- ProtocolsConfigurationEntry.cs
- OLEDB_Util.cs
- ToolStripStatusLabel.cs
- followingsibling.cs
- DataServiceHostFactory.cs
- GenerateHelper.cs
- _SslState.cs
- TextEditorDragDrop.cs
- WindowsPen.cs
- OracleCommandBuilder.cs