Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / MatrixTransform.cs / 1305600 / 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
- ByteAnimationBase.cs
- AsymmetricSignatureDeformatter.cs
- CustomWebEventKey.cs
- EncryptedType.cs
- SwitchElementsCollection.cs
- HMACRIPEMD160.cs
- DataSysAttribute.cs
- SoapTypeAttribute.cs
- ListChangedEventArgs.cs
- WriteTimeStream.cs
- WebRequestModulesSection.cs
- XhtmlTextWriter.cs
- PointCollection.cs
- GlobalProxySelection.cs
- ProcessManager.cs
- QilDataSource.cs
- ListBindableAttribute.cs
- C14NUtil.cs
- QueryInterceptorAttribute.cs
- PasswordRecovery.cs
- MsmqDiagnostics.cs
- UIElement3DAutomationPeer.cs
- _HeaderInfo.cs
- VBIdentifierTrimConverter.cs
- XmlSchemaObjectTable.cs
- StrongNameIdentityPermission.cs
- Pick.cs
- WebBrowserContainer.cs
- StyleHelper.cs
- DynamicMetaObject.cs
- FigureParaClient.cs
- MonitoringDescriptionAttribute.cs
- IssuanceLicense.cs
- OrCondition.cs
- X509RecipientCertificateServiceElement.cs
- XmlSchemaAttribute.cs
- ErrorProvider.cs
- Subtree.cs
- InternalTypeHelper.cs
- InputProviderSite.cs
- FacetDescriptionElement.cs
- Closure.cs
- SoundPlayerAction.cs
- ProxyWebPartManagerDesigner.cs
- QilUnary.cs
- DataSourceProvider.cs
- AppDomainProtocolHandler.cs
- XmlAtomicValue.cs
- BufferAllocator.cs
- EntityContainer.cs
- ActivityValidationServices.cs
- TypeElementCollection.cs
- SchemaTypeEmitter.cs
- IgnoreSectionHandler.cs
- QilStrConcatenator.cs
- Util.cs
- TextEffectResolver.cs
- CompilerError.cs
- MimePart.cs
- XmlDictionaryReaderQuotas.cs
- FigureParaClient.cs
- ValidatorCompatibilityHelper.cs
- TextBoxBase.cs
- HttpFileCollection.cs
- EntityDataSource.cs
- LoginUtil.cs
- OleDbDataReader.cs
- DummyDataSource.cs
- EntityClientCacheEntry.cs
- ConnectionsZoneDesigner.cs
- Iis7Helper.cs
- ContractReference.cs
- DoubleAnimationClockResource.cs
- _TransmitFileOverlappedAsyncResult.cs
- DrawItemEvent.cs
- TTSEngineProxy.cs
- ScrollEventArgs.cs
- EventManager.cs
- Win32Native.cs
- ListSourceHelper.cs
- HoistedLocals.cs
- AsyncOperationManager.cs
- MailHeaderInfo.cs
- SecUtil.cs
- XomlCompilerResults.cs
- InputScope.cs
- PersonalizablePropertyEntry.cs
- PackageFilter.cs
- ObjectDataSourceView.cs
- XPathNavigatorKeyComparer.cs
- XNodeValidator.cs
- MemoryRecordBuffer.cs
- File.cs
- ChildTable.cs
- WindowsToolbarItemAsMenuItem.cs
- Stackframe.cs
- Fonts.cs
- MultitargetUtil.cs
- UnsafeNativeMethods.cs
- HttpCookiesSection.cs