Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SerialStream.cs
- ManagementException.cs
- IdentityHolder.cs
- BitmapEffectDrawingContent.cs
- DataTransferEventArgs.cs
- ToolbarAUtomationPeer.cs
- CompositeControl.cs
- DesignTimeHTMLTextWriter.cs
- DataGridViewTextBoxEditingControl.cs
- PipelineModuleStepContainer.cs
- XsdValidatingReader.cs
- DerivedKeySecurityTokenStub.cs
- ListViewGroupItemCollection.cs
- Dispatcher.cs
- DocumentXmlWriter.cs
- AmbientProperties.cs
- Stroke2.cs
- OutputCacheModule.cs
- DispatcherOperation.cs
- GetFileNameResult.cs
- OleDbReferenceCollection.cs
- ScaleTransform3D.cs
- CodeDelegateCreateExpression.cs
- CharacterMetricsDictionary.cs
- GridViewPageEventArgs.cs
- SiteMapNodeCollection.cs
- WebPart.cs
- HtmlTitle.cs
- XsdSchemaFileEditor.cs
- IncrementalCompileAnalyzer.cs
- Matrix.cs
- RequestQueryParser.cs
- FileSystemWatcher.cs
- File.cs
- RuntimeWrappedException.cs
- TextParaClient.cs
- ListBase.cs
- SchemaSetCompiler.cs
- SafeArrayRankMismatchException.cs
- DocumentScope.cs
- TableLayoutCellPaintEventArgs.cs
- HostingEnvironmentException.cs
- Symbol.cs
- StopStoryboard.cs
- TextLineBreak.cs
- HtmlHead.cs
- VideoDrawing.cs
- DataGridViewTopLeftHeaderCell.cs
- TreeNodeBindingCollection.cs
- Transaction.cs
- Material.cs
- SubpageParaClient.cs
- InvalidProgramException.cs
- ToolStripCollectionEditor.cs
- EventLogHandle.cs
- XmlDocumentType.cs
- Tile.cs
- SupportingTokenChannel.cs
- ProfileService.cs
- WebPartPersonalization.cs
- IntellisenseTextBox.designer.cs
- DropDownList.cs
- TableTextElementCollectionInternal.cs
- Ref.cs
- PointUtil.cs
- EntityTransaction.cs
- AppSecurityManager.cs
- SmtpSection.cs
- UserValidatedEventArgs.cs
- LogSwitch.cs
- WebServiceMethodData.cs
- StickyNote.cs
- CodeNamespaceCollection.cs
- UserNameSecurityTokenProvider.cs
- StreamBodyWriter.cs
- EntityType.cs
- NonValidatingSecurityTokenAuthenticator.cs
- TaiwanCalendar.cs
- MimeImporter.cs
- OperatorExpressions.cs
- ConstantCheck.cs
- ObjectTokenCategory.cs
- CallbackHandler.cs
- MessageQueue.cs
- EnumValAlphaComparer.cs
- ValueSerializer.cs
- Expression.cs
- MasterPageCodeDomTreeGenerator.cs
- SurrogateEncoder.cs
- DbUpdateCommandTree.cs
- StatusBarItem.cs
- GB18030Encoding.cs
- HwndSource.cs
- DataBindingList.cs
- Internal.cs
- XslNumber.cs
- FontSourceCollection.cs
- EntityException.cs
- OutputCacheSettingsSection.cs
- SqlClientWrapperSmiStream.cs