Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / MatrixTransform.cs / 1305600 / 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
- HandledEventArgs.cs
- NullNotAllowedCollection.cs
- SqlAliasesReferenced.cs
- HtmlControlAdapter.cs
- DataColumn.cs
- Blend.cs
- HeaderFilter.cs
- PointConverter.cs
- VectorAnimationUsingKeyFrames.cs
- ArrayElementGridEntry.cs
- ResourceManager.cs
- SubpageParaClient.cs
- AppDomainUnloadedException.cs
- MessageBox.cs
- ModulesEntry.cs
- CanonicalFontFamilyReference.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- WinCategoryAttribute.cs
- DataSourceHelper.cs
- Internal.cs
- GenericUI.cs
- DataGridDetailsPresenter.cs
- WebPartEventArgs.cs
- ArrayElementGridEntry.cs
- XamlValidatingReader.cs
- InvalidateEvent.cs
- StyleBamlTreeBuilder.cs
- TemplateXamlParser.cs
- RunWorkerCompletedEventArgs.cs
- DataGridViewLinkColumn.cs
- ObjectDataSourceSelectingEventArgs.cs
- ControlBindingsCollection.cs
- ThicknessAnimationBase.cs
- SynchronizingStream.cs
- XmlNamespaceDeclarationsAttribute.cs
- OracleString.cs
- path.cs
- VirtualizingPanel.cs
- DataProtection.cs
- CqlGenerator.cs
- _OverlappedAsyncResult.cs
- BaseCodeDomTreeGenerator.cs
- OdbcConnectionFactory.cs
- TemplateControlCodeDomTreeGenerator.cs
- FlowDocumentPaginator.cs
- RequestQueue.cs
- LicenseException.cs
- RuntimeWrappedException.cs
- HttpModulesSection.cs
- DialogBaseForm.cs
- ScriptManager.cs
- ReachSerializationCacheItems.cs
- ProfilePropertyNameValidator.cs
- UnitySerializationHolder.cs
- _CookieModule.cs
- UdpDiscoveryEndpointProvider.cs
- ToolBarButtonClickEvent.cs
- CollectionBase.cs
- GPPOINTF.cs
- ErrorTableItemStyle.cs
- MsmqIntegrationSecurityElement.cs
- DynamicRendererThreadManager.cs
- WindowsListViewItemStartMenu.cs
- ScrollViewer.cs
- DrawTreeNodeEventArgs.cs
- AspProxy.cs
- controlskin.cs
- WindowShowOrOpenTracker.cs
- CodeEntryPointMethod.cs
- Int64Animation.cs
- PageWrapper.cs
- PassportIdentity.cs
- SqlCacheDependencyDatabase.cs
- Int32Storage.cs
- UTF7Encoding.cs
- DataGridViewRow.cs
- ControlHelper.cs
- SqlBooleanMismatchVisitor.cs
- ClientBuildManagerCallback.cs
- ItemChangedEventArgs.cs
- ToolStripGripRenderEventArgs.cs
- DeflateEmulationStream.cs
- WebConfigurationFileMap.cs
- EmptyElement.cs
- ImageBrush.cs
- VectorCollectionValueSerializer.cs
- TableHeaderCell.cs
- GlobalizationSection.cs
- Function.cs
- UnitySerializationHolder.cs
- SessionState.cs
- PartialCachingControl.cs
- ContextMenuStrip.cs
- MultiPageTextView.cs
- ExpressionEditorAttribute.cs
- ScriptingProfileServiceSection.cs
- TransformProviderWrapper.cs
- QilExpression.cs
- PeerUnsafeNativeMethods.cs
- BatchStream.cs