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
- ReaderWriterLock.cs
- WinEventWrap.cs
- OleDbConnection.cs
- Utilities.cs
- ModifyActivitiesPropertyDescriptor.cs
- TextParentUndoUnit.cs
- ellipse.cs
- LocalizationParserHooks.cs
- CommentGlyph.cs
- CodeDirectoryCompiler.cs
- UnsafeCollabNativeMethods.cs
- UIAgentAsyncBeginRequest.cs
- XmlDataCollection.cs
- BrushConverter.cs
- Hashtable.cs
- EventWaitHandleSecurity.cs
- SspiNegotiationTokenAuthenticatorState.cs
- HtmlWindow.cs
- TextUtf8RawTextWriter.cs
- SemaphoreFullException.cs
- WindowsTokenRoleProvider.cs
- RowType.cs
- WebBrowserPermission.cs
- AstTree.cs
- FormatConvertedBitmap.cs
- ConfigurationErrorsException.cs
- GetPageCompletedEventArgs.cs
- CapabilitiesUse.cs
- PointKeyFrameCollection.cs
- EraserBehavior.cs
- RSAPKCS1KeyExchangeFormatter.cs
- WebRequestModuleElement.cs
- EventArgs.cs
- DataAdapter.cs
- NativeMethods.cs
- SplitterCancelEvent.cs
- DataGrid.cs
- InkCollectionBehavior.cs
- ToolStripSettings.cs
- DeviceFilterDictionary.cs
- unitconverter.cs
- SmiMetaDataProperty.cs
- RichTextBox.cs
- BasicBrowserDialog.designer.cs
- InvokeMemberBinder.cs
- BaseCodeDomTreeGenerator.cs
- GeneralTransform3DCollection.cs
- HtmlInputReset.cs
- HtmlWindow.cs
- FontStretches.cs
- ProjectionCamera.cs
- ProfileServiceManager.cs
- SystemResourceHost.cs
- SizeChangedEventArgs.cs
- EventRoute.cs
- ProxyAttribute.cs
- CaseInsensitiveOrdinalStringComparer.cs
- RectAnimation.cs
- SecondaryViewProvider.cs
- SingleKeyFrameCollection.cs
- InvokeDelegate.cs
- PropertyCondition.cs
- DetailsViewUpdatedEventArgs.cs
- DeclarativeConditionsCollection.cs
- RIPEMD160Managed.cs
- WebService.cs
- HttpApplication.cs
- SqlUserDefinedAggregateAttribute.cs
- SignedInfo.cs
- InputLanguageCollection.cs
- SafeNativeMethods.cs
- XmlStreamStore.cs
- GenericRootAutomationPeer.cs
- ActiveXSerializer.cs
- ComponentEditorPage.cs
- QueueProcessor.cs
- AxWrapperGen.cs
- IPAddressCollection.cs
- PointValueSerializer.cs
- ProtocolElement.cs
- PrintPreviewGraphics.cs
- ForwardPositionQuery.cs
- SchemaElement.cs
- SecurityKeyIdentifier.cs
- WrappedReader.cs
- _UriSyntax.cs
- StringToken.cs
- MetadataProperty.cs
- ExecutionContext.cs
- SignatureHelper.cs
- BasicViewGenerator.cs
- VisualTreeUtils.cs
- MaskInputRejectedEventArgs.cs
- SessionStateItemCollection.cs
- MemberBinding.cs
- XmlSchemaAll.cs
- TraceContextEventArgs.cs
- ExpressionVisitor.cs
- AnonymousIdentificationSection.cs
- SqlParameterCollection.cs