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
- ApplicationInfo.cs
- Int16Converter.cs
- DocComment.cs
- Util.cs
- Regex.cs
- ProviderBase.cs
- AutoCompleteStringCollection.cs
- DBSchemaTable.cs
- FileEnumerator.cs
- DataControlExtensions.cs
- xamlnodes.cs
- _Semaphore.cs
- RightsManagementProvider.cs
- DisplayToken.cs
- ExpressionPrefixAttribute.cs
- BamlTreeNode.cs
- XmlSchemaProviderAttribute.cs
- Char.cs
- PageBuildProvider.cs
- BitmapEffectGeneralTransform.cs
- SoapFormatter.cs
- XPathAxisIterator.cs
- XmlSchemaComplexContentExtension.cs
- BitmapEffectState.cs
- QueryContinueDragEventArgs.cs
- CodeRegionDirective.cs
- ByteStorage.cs
- DataGridViewBand.cs
- Size3DConverter.cs
- MeasureItemEvent.cs
- KeyEventArgs.cs
- SecurityRuntime.cs
- RelatedCurrencyManager.cs
- RegionInfo.cs
- XsltQilFactory.cs
- StorageEntitySetMapping.cs
- EndpointDispatcher.cs
- ImportContext.cs
- UInt64Converter.cs
- SelectionBorderGlyph.cs
- Command.cs
- LongMinMaxAggregationOperator.cs
- TextEditorSpelling.cs
- LinearKeyFrames.cs
- TargetInvocationException.cs
- DESCryptoServiceProvider.cs
- ProtocolsConfigurationEntry.cs
- GenericWebPart.cs
- SmtpMail.cs
- PointAnimationClockResource.cs
- BuilderPropertyEntry.cs
- TextElement.cs
- MarginsConverter.cs
- WsdlInspector.cs
- SignatureDescription.cs
- SaveRecipientRequest.cs
- MetadataCacheItem.cs
- httpserverutility.cs
- StringResourceManager.cs
- StylusCaptureWithinProperty.cs
- WebPartVerb.cs
- EncoderFallback.cs
- NameNode.cs
- BuiltInPermissionSets.cs
- ProgressPage.cs
- ProfileSettings.cs
- Html32TextWriter.cs
- SingleStorage.cs
- SecurityDocument.cs
- oledbmetadatacollectionnames.cs
- PropertyDescriptorComparer.cs
- IPAddress.cs
- IndentedWriter.cs
- XslAstAnalyzer.cs
- DataBindingList.cs
- TabControlEvent.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- DesignerActionVerbItem.cs
- Trustee.cs
- SelectionGlyphBase.cs
- AutoGeneratedField.cs
- ZeroOpNode.cs
- DataGridViewColumn.cs
- MetadataPropertyvalue.cs
- UnsafeNativeMethods.cs
- SqlNotificationRequest.cs
- PropertyMapper.cs
- MediaContextNotificationWindow.cs
- BitmapEffectvisualstate.cs
- XmlBinaryReader.cs
- ProviderCommandInfoUtils.cs
- DecimalConverter.cs
- DeviceSpecificDialogCachedState.cs
- TypeConverterHelper.cs
- DockEditor.cs
- EditingCoordinator.cs
- InplaceBitmapMetadataWriter.cs
- DocComment.cs
- Decimal.cs
- SeekableReadStream.cs