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
- RequestSecurityTokenForRemoteTokenFactory.cs
- GPStream.cs
- QueryResultOp.cs
- ListViewUpdatedEventArgs.cs
- CustomPopupPlacement.cs
- FormatSettings.cs
- Exceptions.cs
- UpdatePanel.cs
- ObjectViewEntityCollectionData.cs
- ConsumerConnectionPointCollection.cs
- TargetControlTypeCache.cs
- Environment.cs
- CallContext.cs
- EventDescriptor.cs
- ReadOnlyDictionary.cs
- UnsafeNetInfoNativeMethods.cs
- XPathExpr.cs
- DesignerEventService.cs
- WebPartsSection.cs
- WebPartConnectionsCancelVerb.cs
- CLSCompliantAttribute.cs
- ConsoleKeyInfo.cs
- RoleService.cs
- SQLBytes.cs
- DataGridRowHeader.cs
- InputScopeConverter.cs
- CodeAttributeDeclaration.cs
- CodeSubDirectory.cs
- ProfilePropertyMetadata.cs
- Attachment.cs
- SettingsPropertyIsReadOnlyException.cs
- SqlServices.cs
- WebPartEditorOkVerb.cs
- WebPartChrome.cs
- RunWorkerCompletedEventArgs.cs
- DataGridViewMethods.cs
- CounterSample.cs
- PackagePart.cs
- SubclassTypeValidatorAttribute.cs
- BaseParser.cs
- SqlTopReducer.cs
- LocalServiceSecuritySettingsElement.cs
- ThreadExceptionEvent.cs
- DispatcherOperation.cs
- Tablet.cs
- CompilerParameters.cs
- RuntimeResourceSet.cs
- Vector.cs
- DocumentGridPage.cs
- CodeRegionDirective.cs
- DBCommandBuilder.cs
- Evaluator.cs
- HttpProfileGroupBase.cs
- UIElementParaClient.cs
- LowerCaseStringConverter.cs
- ResolveNameEventArgs.cs
- ExecutionEngineException.cs
- ThreadAttributes.cs
- HttpException.cs
- XmlDataSource.cs
- InvalidPropValue.cs
- MetadataPropertyAttribute.cs
- Encoding.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- QuaternionRotation3D.cs
- ObjRef.cs
- Expressions.cs
- XmlSchemaParticle.cs
- PtsCache.cs
- LiteralLink.cs
- ErrorWebPart.cs
- ParserStreamGeometryContext.cs
- ScrollChrome.cs
- SqlRecordBuffer.cs
- DefaultHttpHandler.cs
- ClientBuildManagerCallback.cs
- Types.cs
- TraceRecord.cs
- QilChoice.cs
- DiscoveryServerProtocol.cs
- RelationHandler.cs
- ByteStack.cs
- ReflectionHelper.cs
- FixedTextBuilder.cs
- SqlClientMetaDataCollectionNames.cs
- TcpTransportSecurityElement.cs
- FastEncoder.cs
- DuplicateWaitObjectException.cs
- PerspectiveCamera.cs
- ViewGenResults.cs
- WrappedIUnknown.cs
- AssemblyAssociatedContentFileAttribute.cs
- XmlSchemaComplexType.cs
- IdleTimeoutMonitor.cs
- DataShape.cs
- DeploymentSection.cs
- SmiGettersStream.cs
- AssemblyFilter.cs
- SchemaNamespaceManager.cs
- IriParsingElement.cs