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
- ChannelSinkStacks.cs
- DeleteBookmarkScope.cs
- XamlFrame.cs
- UnmanagedMemoryStreamWrapper.cs
- WebDescriptionAttribute.cs
- ProjectionCamera.cs
- OdbcError.cs
- AccessViolationException.cs
- PersonalizableAttribute.cs
- HierarchicalDataSourceControl.cs
- TableRowCollection.cs
- ConfigurationManagerHelperFactory.cs
- FileSystemEventArgs.cs
- WinFormsSpinner.cs
- XPathArrayIterator.cs
- DefaultTextStore.cs
- LabelExpression.cs
- ResXResourceWriter.cs
- ProviderIncompatibleException.cs
- CharUnicodeInfo.cs
- MappedMetaModel.cs
- SortDescription.cs
- GridViewHeaderRowPresenter.cs
- XmlSchemaImport.cs
- NonSerializedAttribute.cs
- TextEditorSpelling.cs
- DbFunctionCommandTree.cs
- ParseChildrenAsPropertiesAttribute.cs
- NumberSubstitution.cs
- UndirectedGraph.cs
- StandardCommands.cs
- CuspData.cs
- DataGridTable.cs
- ComponentChangingEvent.cs
- UrlAuthorizationModule.cs
- columnmapfactory.cs
- AstNode.cs
- BamlCollectionHolder.cs
- PanelStyle.cs
- LookupBindingPropertiesAttribute.cs
- SmuggledIUnknown.cs
- LOSFormatter.cs
- EmbeddedMailObjectsCollection.cs
- InkSerializer.cs
- FillBehavior.cs
- ErrorBehavior.cs
- Figure.cs
- Int32KeyFrameCollection.cs
- CharKeyFrameCollection.cs
- MemberMemberBinding.cs
- SplineKeyFrames.cs
- ProfileSettings.cs
- DataSourceXmlSerializer.cs
- QuaternionRotation3D.cs
- ColumnTypeConverter.cs
- HttpProtocolReflector.cs
- ServiceThrottlingElement.cs
- AutomationPatternInfo.cs
- WorkItem.cs
- SchemaNamespaceManager.cs
- XmlProcessingInstruction.cs
- LoggedException.cs
- GridView.cs
- TypeNameParser.cs
- ModuleBuilder.cs
- HitTestWithGeometryDrawingContextWalker.cs
- XmlReflectionImporter.cs
- ComPlusServiceHost.cs
- ReceiveCompletedEventArgs.cs
- HGlobalSafeHandle.cs
- XmlSchemaExternal.cs
- NameValueCollection.cs
- MergeFailedEvent.cs
- StringInfo.cs
- GenericAuthenticationEventArgs.cs
- DesignerVerb.cs
- TagElement.cs
- DataGridViewRowsAddedEventArgs.cs
- RegistryKey.cs
- Compiler.cs
- ApplicationFileParser.cs
- NamedPipeWorkerProcess.cs
- LoadWorkflowByKeyAsyncResult.cs
- DirectoryInfo.cs
- ItemCheckedEvent.cs
- WebPartConnectionsCancelEventArgs.cs
- Exception.cs
- ParentUndoUnit.cs
- DocumentXPathNavigator.cs
- WebServiceParameterData.cs
- InProcStateClientManager.cs
- CodeIdentifiers.cs
- BamlLocalizabilityResolver.cs
- ProxyHelper.cs
- EntityWrapperFactory.cs
- HGlobalSafeHandle.cs
- WebPartUserCapability.cs
- MimeBasePart.cs
- DetailsView.cs
- SerializableAttribute.cs