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
- MembershipValidatePasswordEventArgs.cs
- DrawingImage.cs
- BitmapEffectInputConnector.cs
- __ComObject.cs
- StackSpiller.Bindings.cs
- DependencyProperty.cs
- SmuggledIUnknown.cs
- ThreadStateException.cs
- DataRow.cs
- MouseWheelEventArgs.cs
- UnionCodeGroup.cs
- DataGridViewSortCompareEventArgs.cs
- EntityDesignerDataSourceView.cs
- WebPartsPersonalization.cs
- TextEditorContextMenu.cs
- ReceiveActivityDesigner.cs
- XmlHierarchyData.cs
- WindowsStreamSecurityUpgradeProvider.cs
- FormsAuthenticationModule.cs
- ImageMetadata.cs
- AssemblyName.cs
- AdPostCacheSubstitution.cs
- GlobalItem.cs
- SymbolTable.cs
- ReferenceAssemblyAttribute.cs
- ASCIIEncoding.cs
- DynamicRendererThreadManager.cs
- ProviderConnectionPointCollection.cs
- Point3DIndependentAnimationStorage.cs
- CollectionViewGroupInternal.cs
- UnsafeNativeMethodsTablet.cs
- AppSettingsExpressionBuilder.cs
- MediaCommands.cs
- CorePropertiesFilter.cs
- HttpContext.cs
- Path.cs
- SystemTcpConnection.cs
- TreeNodeStyle.cs
- UserControlBuildProvider.cs
- ShaperBuffers.cs
- InvalidOleVariantTypeException.cs
- FlowLayoutPanel.cs
- ConfigurationStrings.cs
- ContainerControl.cs
- DetailsViewRowCollection.cs
- MulticastOption.cs
- AssociationSetMetadata.cs
- ListItemConverter.cs
- Globals.cs
- SetStateDesigner.cs
- Listbox.cs
- WebPartConnectionsConnectVerb.cs
- TaskHelper.cs
- ClientSponsor.cs
- Tile.cs
- MaterialGroup.cs
- ContentElement.cs
- CollectionTraceRecord.cs
- ToolboxItemFilterAttribute.cs
- ProgressBarHighlightConverter.cs
- GlobalizationAssembly.cs
- ThreadInterruptedException.cs
- SystemIPInterfaceStatistics.cs
- CorePropertiesFilter.cs
- PopupEventArgs.cs
- DbParameterCollectionHelper.cs
- ExitEventArgs.cs
- StaticSiteMapProvider.cs
- MinMaxParagraphWidth.cs
- Container.cs
- remotingproxy.cs
- TextParaLineResult.cs
- DynamicContractTypeBuilder.cs
- Cloud.cs
- MatrixCamera.cs
- CachedResourceDictionaryExtension.cs
- DataReaderContainer.cs
- InternalBufferManager.cs
- TypeUtil.cs
- OutputCacheModule.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ColumnHeader.cs
- IisTraceWebEventProvider.cs
- PermissionSetTriple.cs
- InternalCache.cs
- CallbackBehaviorAttribute.cs
- ReflectionUtil.cs
- SmtpReplyReader.cs
- MD5CryptoServiceProvider.cs
- NetSectionGroup.cs
- RepeaterCommandEventArgs.cs
- PermissionSetTriple.cs
- entityreference_tresulttype.cs
- TreeNodeMouseHoverEvent.cs
- AxHostDesigner.cs
- RegistryDataKey.cs
- DataGrid.cs
- ProgressBarRenderer.cs
- ProgressiveCrcCalculatingStream.cs
- SessionEndingCancelEventArgs.cs