Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- Configuration.cs
- ColorDialog.cs
- StrongNamePublicKeyBlob.cs
- CodeEntryPointMethod.cs
- EmissiveMaterial.cs
- Rect.cs
- XmlElementCollection.cs
- OracleCommand.cs
- HashJoinQueryOperatorEnumerator.cs
- ColorBlend.cs
- XmlSchemaChoice.cs
- SecurityState.cs
- Clause.cs
- SyndicationDeserializer.cs
- LoginView.cs
- DataTableReaderListener.cs
- GlyphInfoList.cs
- ServiceMetadataBehavior.cs
- EncodingNLS.cs
- AppDomainUnloadedException.cs
- WebServiceClientProxyGenerator.cs
- ObjectSet.cs
- EventLogTraceListener.cs
- ContentDisposition.cs
- HitTestWithPointDrawingContextWalker.cs
- BaseCollection.cs
- WebPartEditVerb.cs
- XamlLoadErrorInfo.cs
- ListBoxAutomationPeer.cs
- XPathNode.cs
- LinqDataSourceStatusEventArgs.cs
- ConstraintCollection.cs
- CodeExporter.cs
- TrustSection.cs
- TypeUtil.cs
- FileSecurity.cs
- WindowsImpersonationContext.cs
- OptimalTextSource.cs
- FormatVersion.cs
- GradientBrush.cs
- WebPartDisplayModeCancelEventArgs.cs
- HtmlInputReset.cs
- XmlValidatingReader.cs
- ContentPropertyAttribute.cs
- SetStoryboardSpeedRatio.cs
- BamlRecordHelper.cs
- ConnectionManager.cs
- CompilationSection.cs
- DateTimeValueSerializerContext.cs
- BamlStream.cs
- MultiAsyncResult.cs
- GeneralTransform3DTo2D.cs
- CompoundFileStorageReference.cs
- QilXmlReader.cs
- AsymmetricSignatureFormatter.cs
- MessageQueuePermissionAttribute.cs
- Memoizer.cs
- DrawingBrush.cs
- NetworkInterface.cs
- StructuredCompositeActivityDesigner.cs
- CreateCardRequest.cs
- Util.cs
- CodeAttributeDeclaration.cs
- WCFServiceClientProxyGenerator.cs
- WindowsListViewGroup.cs
- EventManager.cs
- UiaCoreTypesApi.cs
- LineGeometry.cs
- InvalidOleVariantTypeException.cs
- SystemColors.cs
- SoapObjectReader.cs
- XmlILStorageConverter.cs
- RtfControls.cs
- IdentityModelDictionary.cs
- AssertFilter.cs
- DbParameterCollection.cs
- GridViewDeletedEventArgs.cs
- SQLChars.cs
- EdmFunction.cs
- UnsafeNativeMethods.cs
- Polygon.cs
- ISessionStateStore.cs
- SafeNativeMethods.cs
- DPAPIProtectedConfigurationProvider.cs
- AssemblyBuilder.cs
- InvokeFunc.cs
- ThicknessAnimationBase.cs
- UrlPath.cs
- TaiwanCalendar.cs
- DataServiceProviderWrapper.cs
- PtsPage.cs
- Panel.cs
- ZoneLinkButton.cs
- FileDialogCustomPlacesCollection.cs
- Clock.cs
- DeferredRunTextReference.cs
- SortDescription.cs
- GridViewColumnHeader.cs
- StaticContext.cs
- CheckBoxRenderer.cs