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
- SqlFunctionAttribute.cs
- ColumnWidthChangedEvent.cs
- DelegateHelpers.cs
- IgnoreDataMemberAttribute.cs
- SiteMapNodeItem.cs
- KeySpline.cs
- WebPartZone.cs
- TrackBarRenderer.cs
- PropertyConverter.cs
- MissingMethodException.cs
- CannotUnloadAppDomainException.cs
- ExpressionsCollectionConverter.cs
- SkewTransform.cs
- DynamicResourceExtensionConverter.cs
- AllMembershipCondition.cs
- DefaultPropertiesToSend.cs
- InternalTypeHelper.cs
- CroppedBitmap.cs
- Monitor.cs
- SelectionPattern.cs
- AddInAttribute.cs
- XPathExpr.cs
- ListViewUpdateEventArgs.cs
- DragEventArgs.cs
- ToolStripControlHost.cs
- Int16AnimationUsingKeyFrames.cs
- XDeferredAxisSource.cs
- ColorBlend.cs
- HashHelper.cs
- TextTreeFixupNode.cs
- ConfigurationManagerInternalFactory.cs
- Size3D.cs
- UrlPath.cs
- ByteBufferPool.cs
- TagPrefixInfo.cs
- ObjectListCommandsPage.cs
- EventBuilder.cs
- FrugalMap.cs
- SubclassTypeValidator.cs
- SignedPkcs7.cs
- SequenceNumber.cs
- HexParser.cs
- BitmapEffectDrawing.cs
- XmlHierarchicalEnumerable.cs
- View.cs
- Avt.cs
- MultiplexingDispatchMessageFormatter.cs
- SQLByteStorage.cs
- BlockCollection.cs
- CapacityStreamGeometryContext.cs
- HtmlTableRow.cs
- HttpServerVarsCollection.cs
- QuaternionValueSerializer.cs
- WindowsAuthenticationModule.cs
- WebChannelFactory.cs
- Matrix3DStack.cs
- RuntimeConfig.cs
- precedingsibling.cs
- PropertyValue.cs
- WebPartCloseVerb.cs
- BehaviorEditorPart.cs
- Rect3DConverter.cs
- DecoratedNameAttribute.cs
- XmlReflectionImporter.cs
- ScrollBar.cs
- ArraySubsetEnumerator.cs
- WindowsToolbarItemAsMenuItem.cs
- IconEditor.cs
- TypeBuilderInstantiation.cs
- WindowsTitleBar.cs
- AxisAngleRotation3D.cs
- GeometryHitTestParameters.cs
- serverconfig.cs
- KnownColorTable.cs
- PropertyMapper.cs
- GradientStopCollection.cs
- StringDictionary.cs
- LinearGradientBrush.cs
- DataConnectionHelper.cs
- GridViewDeletedEventArgs.cs
- NamespaceCollection.cs
- SQLConvert.cs
- RenderingBiasValidation.cs
- WebPartManager.cs
- UriParserTemplates.cs
- BoolExpr.cs
- WebScriptClientGenerator.cs
- _NativeSSPI.cs
- AppDomainProtocolHandler.cs
- SelectionPattern.cs
- Rule.cs
- ProcessProtocolHandler.cs
- PackageDigitalSignature.cs
- SubpageParagraph.cs
- Baml2006ReaderContext.cs
- XmlWriterDelegator.cs
- DBConnectionString.cs
- SocketPermission.cs
- Span.cs
- Exceptions.cs