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
- DynamicQueryableWrapper.cs
- InternalResources.cs
- RSAPKCS1SignatureDeformatter.cs
- UDPClient.cs
- RadialGradientBrush.cs
- Executor.cs
- MembershipUser.cs
- Pts.cs
- FrameworkRichTextComposition.cs
- ConfigurationValue.cs
- BaseDataListDesigner.cs
- Activator.cs
- StateRuntime.cs
- DoubleAnimationUsingPath.cs
- WaitForChangedResult.cs
- ToolStripPanel.cs
- ListBoxChrome.cs
- HMACSHA384.cs
- XslTransformFileEditor.cs
- PrinterUnitConvert.cs
- VirtualPath.cs
- EventBuilder.cs
- Operand.cs
- BitmapEffectGeneralTransform.cs
- Header.cs
- Vector3DConverter.cs
- ListBindingHelper.cs
- ResponseBodyWriter.cs
- EntitySetDataBindingList.cs
- ProvidersHelper.cs
- Maps.cs
- MessageQueueKey.cs
- login.cs
- SQLBinaryStorage.cs
- TabControl.cs
- RuleSetDialog.Designer.cs
- GeneralTransformGroup.cs
- WeakEventTable.cs
- UnsupportedPolicyOptionsException.cs
- NumberFormatInfo.cs
- ArgumentException.cs
- EntityDataSourceWizardForm.cs
- OpenTypeLayout.cs
- XmlTextWriter.cs
- TextParagraphCache.cs
- RepeatBehavior.cs
- TransactionScopeDesigner.cs
- DataGridViewMethods.cs
- ConnectionPool.cs
- SecureConversationVersion.cs
- WebConfigurationFileMap.cs
- SecurityState.cs
- BinaryCommonClasses.cs
- Graphics.cs
- ClosableStream.cs
- DataColumnCollection.cs
- TokenBasedSet.cs
- CategoryEditor.cs
- NodeFunctions.cs
- MulticastDelegate.cs
- SafeMarshalContext.cs
- PropertyGeneratedEventArgs.cs
- bindurihelper.cs
- WebConfigurationFileMap.cs
- MemoryMappedFile.cs
- TemplateManager.cs
- MetadataCache.cs
- RegexCaptureCollection.cs
- FixedPageAutomationPeer.cs
- Block.cs
- StylusPointPropertyId.cs
- XmlIlVisitor.cs
- ColorAnimationUsingKeyFrames.cs
- CodeAssignStatement.cs
- BamlLocalizableResourceKey.cs
- TextBounds.cs
- Transform3DCollection.cs
- XPathNode.cs
- Button.cs
- OracleLob.cs
- ImageCodecInfoPrivate.cs
- UriTemplate.cs
- QueryCacheKey.cs
- MgmtConfigurationRecord.cs
- FormViewDesigner.cs
- PackageDigitalSignatureManager.cs
- IncrementalReadDecoders.cs
- DocumentPage.cs
- Keywords.cs
- Model3DGroup.cs
- ArcSegment.cs
- TraceProvider.cs
- DataBindEngine.cs
- BuildDependencySet.cs
- FormViewRow.cs
- VersionValidator.cs
- XmlMembersMapping.cs
- ReadOnlyDataSource.cs
- Point.cs
- KeyEvent.cs