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
- TextTrailingCharacterEllipsis.cs
- ExpressionBuilderCollection.cs
- BmpBitmapEncoder.cs
- HtmlInputPassword.cs
- DispatchChannelSink.cs
- DataControlFieldCollection.cs
- SmtpDigestAuthenticationModule.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- OleStrCAMarshaler.cs
- SQLMembershipProvider.cs
- PeerCollaborationPermission.cs
- DataSourceConverter.cs
- XmlDocumentSerializer.cs
- HierarchicalDataTemplate.cs
- DrawItemEvent.cs
- BCryptNative.cs
- AdCreatedEventArgs.cs
- SQLBoolean.cs
- Brush.cs
- ScopelessEnumAttribute.cs
- HttpRuntimeSection.cs
- AttributeQuery.cs
- _BaseOverlappedAsyncResult.cs
- ValidatorCollection.cs
- ChangeInterceptorAttribute.cs
- XamlFilter.cs
- ToolboxComponentsCreatedEventArgs.cs
- Model3DGroup.cs
- WindowsClaimSet.cs
- TypedTableBaseExtensions.cs
- ExtenderProvidedPropertyAttribute.cs
- TraceContextRecord.cs
- TrailingSpaceComparer.cs
- ActiveDocumentEvent.cs
- ElementHost.cs
- JsonReaderWriterFactory.cs
- PatternMatchRules.cs
- DrawingVisual.cs
- FileSystemEventArgs.cs
- SoapIgnoreAttribute.cs
- ServiceModelConfigurationSectionCollection.cs
- ListViewItem.cs
- NativeMethods.cs
- Configuration.cs
- Version.cs
- FileReservationCollection.cs
- TabItemWrapperAutomationPeer.cs
- ValidatingReaderNodeData.cs
- PropertyMappingExceptionEventArgs.cs
- PresentationSource.cs
- OleDbTransaction.cs
- CngKeyBlobFormat.cs
- GPRECTF.cs
- COM2IProvidePropertyBuilderHandler.cs
- SignedInfo.cs
- DataGridCheckBoxColumn.cs
- RouteParser.cs
- SqlTypeConverter.cs
- GlyphTypeface.cs
- Hash.cs
- CollectionView.cs
- RSAOAEPKeyExchangeFormatter.cs
- DataListCommandEventArgs.cs
- DbBuffer.cs
- WmlImageAdapter.cs
- SoapWriter.cs
- EnterpriseServicesHelper.cs
- SQLStringStorage.cs
- SoapMessage.cs
- VariableReference.cs
- MenuAdapter.cs
- HttpWebRequest.cs
- _NestedMultipleAsyncResult.cs
- HtmlShim.cs
- XmlElement.cs
- Resources.Designer.cs
- SamlAuthorizationDecisionStatement.cs
- InternalRelationshipCollection.cs
- WmfPlaceableFileHeader.cs
- TCEAdapterGenerator.cs
- TextEmbeddedObject.cs
- AssociationEndMember.cs
- GridViewSelectEventArgs.cs
- WindowsListViewGroup.cs
- HttpHandlerActionCollection.cs
- AstTree.cs
- WebPartCollection.cs
- COM2ICategorizePropertiesHandler.cs
- PinnedBufferMemoryStream.cs
- StatusBar.cs
- FilterElement.cs
- BuiltInExpr.cs
- Label.cs
- SqlUtils.cs
- XmlEnumAttribute.cs
- ControlCodeDomSerializer.cs
- HtmlTitle.cs
- InternalBase.cs
- MatrixCamera.cs
- MetafileHeaderWmf.cs