Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / InertiaExpansionBehavior.cs / 1305600 / InertiaExpansionBehavior.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 InertiaExpansionBehavior { ////// Instantiates a new instance of this class. /// public InertiaExpansionBehavior() { } ////// Instantiates a new instance of this class. /// internal InertiaExpansionBehavior(Vector initialVelocity) { _initialVelocity = initialVelocity; } ////// The initial rate of change of size of the element at the start of the inertia phase. /// public Vector InitialVelocity { get { return _initialVelocity; } set { _isInitialVelocitySet = true; _initialVelocity = value; } } ////// The desired rate of change of velocity. /// public double DesiredDeceleration { get { return _desiredDeceleration; } set { if (Double.IsInfinity(value) || Double.IsNaN(value)) { throw new ArgumentOutOfRangeException("value"); } _isDesiredDecelerationSet = true; _desiredDeceleration = value; _isDesiredExpansionSet = false; _desiredExpansion = new Vector(double.NaN, double.NaN); } } ////// The desired total change in size. /// public Vector DesiredExpansion { get { return _desiredExpansion; } set { _isDesiredExpansionSet = true; _desiredExpansion = value; _isDesiredDecelerationSet = false; _desiredDeceleration = double.NaN; } } public double InitialRadius { get { return _initialRadius; } set { _isInitialRadiusSet = true; _initialRadius = value; } } internal bool CanUseForInertia() { return _isInitialVelocitySet || _isInitialRadiusSet || _isDesiredDecelerationSet || _isDesiredExpansionSet; } internal static void ApplyParameters(InertiaExpansionBehavior behavior, InertiaProcessor2D processor, Vector initialVelocity) { if (behavior != null && behavior.CanUseForInertia()) { InertiaExpansionBehavior2D behavior2D = new InertiaExpansionBehavior2D(); if (behavior._isInitialVelocitySet) { behavior2D.InitialVelocityX = (float)behavior._initialVelocity.X; behavior2D.InitialVelocityY = (float)behavior._initialVelocity.Y; } else { behavior2D.InitialVelocityX = (float)initialVelocity.X; behavior2D.InitialVelocityY = (float)initialVelocity.Y; } if (behavior._isDesiredDecelerationSet) { behavior2D.DesiredDeceleration = (float)behavior._desiredDeceleration; } if (behavior._isDesiredExpansionSet) { behavior2D.DesiredExpansionX = (float)behavior._desiredExpansion.X; behavior2D.DesiredExpansionY = (float)behavior._desiredExpansion.Y; } if (behavior._isInitialRadiusSet) { behavior2D.InitialRadius = (float)behavior._initialRadius; } processor.ExpansionBehavior = behavior2D; } } private bool _isInitialVelocitySet; private Vector _initialVelocity = new Vector(double.NaN, double.NaN); private bool _isDesiredDecelerationSet; private double _desiredDeceleration = double.NaN; private bool _isDesiredExpansionSet; private Vector _desiredExpansion = new Vector(double.NaN, double.NaN); private bool _isInitialRadiusSet; private double _initialRadius = 1.0; } } // 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
- TemplateBuilder.cs
- DataControlFieldHeaderCell.cs
- XmlSerializer.cs
- GridEntryCollection.cs
- EntityDataSourceDataSelection.cs
- SelectorAutomationPeer.cs
- GeometryHitTestParameters.cs
- DataContext.cs
- TemplateContent.cs
- DependencyObjectCodeDomSerializer.cs
- PolicyLevel.cs
- EnumValAlphaComparer.cs
- PeerNameRecordCollection.cs
- ToolStripDropDownMenu.cs
- ImpersonationContext.cs
- QueueException.cs
- ListViewDeleteEventArgs.cs
- MainMenu.cs
- OrderingExpression.cs
- NamedPipeTransportSecurityElement.cs
- RowCache.cs
- SaveFileDialog.cs
- ButtonColumn.cs
- ResizeBehavior.cs
- IisTraceWebEventProvider.cs
- CodeGenerator.cs
- AesManaged.cs
- XmlBufferReader.cs
- DatatypeImplementation.cs
- DragDropHelper.cs
- EventSource.cs
- OledbConnectionStringbuilder.cs
- InvalidFilterCriteriaException.cs
- VarRemapper.cs
- TableColumnCollection.cs
- smtppermission.cs
- ProxyWebPartConnectionCollection.cs
- DocumentXmlWriter.cs
- TrustManagerPromptUI.cs
- GacUtil.cs
- MembershipValidatePasswordEventArgs.cs
- ImageList.cs
- DetailsViewPagerRow.cs
- EntityDataSourceUtil.cs
- RangeValuePattern.cs
- ElementUtil.cs
- ValueQuery.cs
- NumberSubstitution.cs
- CalendarDateRange.cs
- XmlCharCheckingReader.cs
- WinCategoryAttribute.cs
- WebUtil.cs
- TagPrefixInfo.cs
- XmlLangPropertyAttribute.cs
- UInt64Storage.cs
- UnderstoodHeaders.cs
- WebPartCloseVerb.cs
- AgileSafeNativeMemoryHandle.cs
- ExecutionScope.cs
- IntSumAggregationOperator.cs
- UInt16Converter.cs
- ToolStripContentPanel.cs
- RegexTypeEditor.cs
- EncryptedPackage.cs
- SqlCacheDependencySection.cs
- ProjectionCamera.cs
- CurrentTimeZone.cs
- WorkflowServiceHostFactory.cs
- PerformanceCounterPermissionEntryCollection.cs
- ListenerHandler.cs
- Helpers.cs
- MailDefinition.cs
- ApplicationFileParser.cs
- BooleanAnimationBase.cs
- Pkcs7Recipient.cs
- ModuleBuilder.cs
- ConfigXmlCDataSection.cs
- TableRowGroup.cs
- XPathQilFactory.cs
- SizeFConverter.cs
- DataProviderNameConverter.cs
- SingleKeyFrameCollection.cs
- SoapCodeExporter.cs
- PrintPreviewControl.cs
- Marshal.cs
- IssuanceTokenProviderBase.cs
- OutKeywords.cs
- CollectionChangedEventManager.cs
- ScriptResourceDefinition.cs
- MatrixStack.cs
- DbProviderFactory.cs
- IndexedSelectQueryOperator.cs
- LocalizationComments.cs
- RectValueSerializer.cs
- OleDbReferenceCollection.cs
- FaultConverter.cs
- BinaryCommonClasses.cs
- TextTreeExtractElementUndoUnit.cs
- StoreContentChangedEventArgs.cs
- DurableMessageDispatchInspector.cs