Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media / MatrixTransform.cs / 1 / MatrixTransform.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2001 // // File: MatrixTransform.cs //----------------------------------------------------------------------------- using System.Windows.Media; using System; using System.Windows; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using System.Security; using System.Security.Permissions; using System.Collections; using MS.Internal; using MS.Internal.PresentationCore; using System.Windows.Media.Animation; using System.Globalization; using System.Text; using System.Runtime.InteropServices; using System.Windows.Media.Composition; using System.Diagnostics; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { ////// Create an arbitrary matrix transformation. /// public sealed partial class MatrixTransform : Transform { #region Constructors ////// /// public MatrixTransform() { } ////// Create an arbitrary matrix transformation. /// ///Matrix value at position 1,1 ///Matrix value at position 1,2 ///Matrix value at position 2,1 ///Matrix value at position 2,2 ///Matrix value at position 3,1 ///Matrix value at position 3,2 public MatrixTransform( double m11, double m12, double m21, double m22, double offsetX, double offsetY ) { Matrix = new Matrix(m11, m12, m21, m22, offsetX, offsetY); } ////// Create a matrix transformation from constant transform. /// ///The constant matrix transformation. public MatrixTransform(Matrix matrix) { Matrix = matrix; } #endregion ////// Return the current transformation value. /// public override Matrix Value { get { ReadPreamble(); return Matrix; } } #region Internal Methods ////// Returns true if transformation matches the identity transform. /// internal override bool IsIdentity { get { return Matrix.IsIdentity && CanFreeze; } } internal override bool CanSerializeToString() { return CanFreeze; } ////// Creates a string representation of this object based on the format string /// and IFormatProvider passed in. /// If the provider is null, the CurrentCulture is used. /// See the documentation for IFormattable for more information. /// ////// A string representation of this object. /// internal override string ConvertToString(string format, IFormatProvider provider) { if (!CanSerializeToString()) { return base.ConvertToString(format, provider); } return ((IFormattable)Matrix).ToString(format, provider); } internal override void TransformRect(ref Rect rect) { Matrix matrix = Matrix; MatrixUtil.TransformRect(ref rect, ref matrix); } internal override void MultiplyValueByMatrix(ref Matrix result, ref Matrix matrixToMultiplyBy) { result = Matrix; MatrixUtil.MultiplyMatrix(ref result, ref matrixToMultiplyBy); } #endregion Internal Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2001 // // File: MatrixTransform.cs //----------------------------------------------------------------------------- using System.Windows.Media; using System; using System.Windows; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using System.Security; using System.Security.Permissions; using System.Collections; using MS.Internal; using MS.Internal.PresentationCore; using System.Windows.Media.Animation; using System.Globalization; using System.Text; using System.Runtime.InteropServices; using System.Windows.Media.Composition; using System.Diagnostics; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { ////// Create an arbitrary matrix transformation. /// public sealed partial class MatrixTransform : Transform { #region Constructors ////// /// public MatrixTransform() { } ////// Create an arbitrary matrix transformation. /// ///Matrix value at position 1,1 ///Matrix value at position 1,2 ///Matrix value at position 2,1 ///Matrix value at position 2,2 ///Matrix value at position 3,1 ///Matrix value at position 3,2 public MatrixTransform( double m11, double m12, double m21, double m22, double offsetX, double offsetY ) { Matrix = new Matrix(m11, m12, m21, m22, offsetX, offsetY); } ////// Create a matrix transformation from constant transform. /// ///The constant matrix transformation. public MatrixTransform(Matrix matrix) { Matrix = matrix; } #endregion ////// Return the current transformation value. /// public override Matrix Value { get { ReadPreamble(); return Matrix; } } #region Internal Methods ////// Returns true if transformation matches the identity transform. /// internal override bool IsIdentity { get { return Matrix.IsIdentity && CanFreeze; } } internal override bool CanSerializeToString() { return CanFreeze; } ////// Creates a string representation of this object based on the format string /// and IFormatProvider passed in. /// If the provider is null, the CurrentCulture is used. /// See the documentation for IFormattable for more information. /// ////// A string representation of this object. /// internal override string ConvertToString(string format, IFormatProvider provider) { if (!CanSerializeToString()) { return base.ConvertToString(format, provider); } return ((IFormattable)Matrix).ToString(format, provider); } internal override void TransformRect(ref Rect rect) { Matrix matrix = Matrix; MatrixUtil.TransformRect(ref rect, ref matrix); } internal override void MultiplyValueByMatrix(ref Matrix result, ref Matrix matrixToMultiplyBy) { result = Matrix; MatrixUtil.MultiplyMatrix(ref result, ref matrixToMultiplyBy); } #endregion Internal Methods } } // 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
- BordersPage.cs
- HMAC.cs
- ImageMetadata.cs
- DataTemplate.cs
- TextLineResult.cs
- FieldMetadata.cs
- unsafenativemethodsother.cs
- CryptographicAttribute.cs
- SiteMapDesignerDataSourceView.cs
- StringOutput.cs
- InputElement.cs
- IncrementalHitTester.cs
- StyleCollection.cs
- UiaCoreApi.cs
- SecurityContextSecurityTokenParameters.cs
- BuildProvidersCompiler.cs
- Oid.cs
- Delegate.cs
- RegexCharClass.cs
- DynamicField.cs
- SqlProviderUtilities.cs
- TargetControlTypeCache.cs
- ReflectionPermission.cs
- ReturnValue.cs
- MenuAdapter.cs
- CallContext.cs
- AuthorizationRuleCollection.cs
- NaturalLanguageHyphenator.cs
- CodeExpressionStatement.cs
- TextEndOfLine.cs
- SyndicationFeedFormatter.cs
- MsmqIntegrationInputChannel.cs
- OleDbTransaction.cs
- RuntimeIdentifierPropertyAttribute.cs
- EntityException.cs
- ProgressiveCrcCalculatingStream.cs
- CreatingCookieEventArgs.cs
- XPathQueryGenerator.cs
- TextLine.cs
- _NestedMultipleAsyncResult.cs
- PaperSize.cs
- SEHException.cs
- RectAnimationUsingKeyFrames.cs
- Vector3DAnimationUsingKeyFrames.cs
- TimeSpanStorage.cs
- MultilineStringEditor.cs
- CutCopyPasteHelper.cs
- sqlmetadatafactory.cs
- AutomationPatternInfo.cs
- MinMaxParagraphWidth.cs
- _SSPIWrapper.cs
- ListViewItem.cs
- SubpageParaClient.cs
- ClientRuntimeConfig.cs
- MediaSystem.cs
- JoinCqlBlock.cs
- CodeAttributeDeclaration.cs
- DataColumnPropertyDescriptor.cs
- StringTraceRecord.cs
- StylusSystemGestureEventArgs.cs
- Stylesheet.cs
- DispatcherObject.cs
- GeneralTransformGroup.cs
- Expr.cs
- XmlQueryOutput.cs
- Expr.cs
- InternalsVisibleToAttribute.cs
- Renderer.cs
- RelationshipEnd.cs
- TableItemPattern.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- CodeStatementCollection.cs
- Light.cs
- SafeNativeMethods.cs
- Binding.cs
- ClonableStack.cs
- NotFiniteNumberException.cs
- StrongTypingException.cs
- XPathSingletonIterator.cs
- SerializerWriterEventHandlers.cs
- ClockGroup.cs
- AcceleratedTokenProviderState.cs
- NameValueFileSectionHandler.cs
- Style.cs
- DtrList.cs
- PLINQETWProvider.cs
- Serializer.cs
- TakeOrSkipQueryOperator.cs
- CompositeDataBoundControl.cs
- XmlTextReaderImpl.cs
- SessionEndedEventArgs.cs
- FieldAccessException.cs
- GetRecipientRequest.cs
- QualifierSet.cs
- PageCodeDomTreeGenerator.cs
- recordstate.cs
- UIntPtr.cs
- SecurityTokenParameters.cs
- DeflateEmulationStream.cs
- COSERVERINFO.cs