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
- GridItemPattern.cs
- SqlStatistics.cs
- LinqDataSourceDisposeEventArgs.cs
- CancellationState.cs
- objectquery_tresulttype.cs
- base64Transforms.cs
- NamedObject.cs
- XmlQueryStaticData.cs
- DynamicDataRouteHandler.cs
- Group.cs
- TreeNodeStyleCollection.cs
- Transform3D.cs
- CodeAttributeArgument.cs
- ArgumentOutOfRangeException.cs
- ListViewPagedDataSource.cs
- HierarchicalDataSourceControl.cs
- TextLineResult.cs
- ToolStripSystemRenderer.cs
- DataGridViewColumnEventArgs.cs
- IMembershipProvider.cs
- ContextMarshalException.cs
- WindowsFormsHelpers.cs
- FileChangesMonitor.cs
- RectangleGeometry.cs
- MarkupWriter.cs
- ByteStorage.cs
- IsolatedStorageFileStream.cs
- SignedInfo.cs
- PrintEvent.cs
- EditableRegion.cs
- SafeNativeMethods.cs
- BitStack.cs
- ImageList.cs
- FutureFactory.cs
- InkCanvasFeedbackAdorner.cs
- ImageConverter.cs
- SHA256.cs
- TemplateBindingExtension.cs
- MembershipAdapter.cs
- WindowsButton.cs
- SplitterEvent.cs
- BadImageFormatException.cs
- dsa.cs
- WindowInteractionStateTracker.cs
- HostingEnvironment.cs
- GenericUriParser.cs
- WorkflowInstanceProxy.cs
- StandardBindingOptionalReliableSessionElement.cs
- Size.cs
- PrintController.cs
- SemaphoreSecurity.cs
- XmlReflectionMember.cs
- DataGridrowEditEndingEventArgs.cs
- EncoderParameters.cs
- ReversePositionQuery.cs
- RayMeshGeometry3DHitTestResult.cs
- CommonRemoteMemoryBlock.cs
- ToolStripDropDownDesigner.cs
- BasicExpandProvider.cs
- EncryptedType.cs
- DescendentsWalkerBase.cs
- HttpResponseInternalBase.cs
- TextContainerChangedEventArgs.cs
- ListViewGroupItemCollection.cs
- _SslStream.cs
- IssuedTokenClientCredential.cs
- NoResizeHandleGlyph.cs
- objectquery_tresulttype.cs
- RuntimeCompatibilityAttribute.cs
- FormViewModeEventArgs.cs
- SpecialFolderEnumConverter.cs
- ClientTargetCollection.cs
- KeyTimeConverter.cs
- FormViewDeletedEventArgs.cs
- WithParamAction.cs
- TextFormatterContext.cs
- XmlSchemaInfo.cs
- WriteTimeStream.cs
- WorkflowServiceAttributesTypeConverter.cs
- BindingExpressionUncommonField.cs
- PhonemeConverter.cs
- DataGridRowEventArgs.cs
- PromptEventArgs.cs
- TabControlAutomationPeer.cs
- TCPClient.cs
- Pool.cs
- SecurityContext.cs
- SetStoryboardSpeedRatio.cs
- EditorPartChrome.cs
- DocumentGrid.cs
- EmptyQuery.cs
- DataSourceSelectArguments.cs
- ColumnPropertiesGroup.cs
- InvalidOleVariantTypeException.cs
- wmiutil.cs
- XmlTextWriter.cs
- RichListBox.cs
- PartialClassGenerationTaskInternal.cs
- StringValidator.cs
- ApplicationContext.cs