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
- RowUpdatingEventArgs.cs
- XmlUtil.cs
- Registry.cs
- ResourceDescriptionAttribute.cs
- SystemNetworkInterface.cs
- ValueTypeFixupInfo.cs
- _HTTPDateParse.cs
- DBBindings.cs
- ProgressBarBrushConverter.cs
- FontStyleConverter.cs
- TypeToken.cs
- control.ime.cs
- SoapFormatterSinks.cs
- MarkupWriter.cs
- xsdvalidator.cs
- ForwardPositionQuery.cs
- DesignerOptionService.cs
- SmtpNetworkElement.cs
- FacetValues.cs
- DynamicValidatorEventArgs.cs
- StrokeRenderer.cs
- MetadataSerializer.cs
- FixedPage.cs
- QueryStringParameter.cs
- HtmlControl.cs
- DataPagerFieldCommandEventArgs.cs
- LineServices.cs
- WindowsListBox.cs
- AuthenticationModuleElement.cs
- XPathNavigatorReader.cs
- TemplateApplicationHelper.cs
- PolyLineSegmentFigureLogic.cs
- FontInfo.cs
- XamlPoint3DCollectionSerializer.cs
- SQLChars.cs
- Bold.cs
- MouseButton.cs
- SchemaNotation.cs
- WasAdminWrapper.cs
- __TransparentProxy.cs
- Console.cs
- ThemeableAttribute.cs
- MemoryMappedViewAccessor.cs
- Rotation3D.cs
- XmlNavigatorFilter.cs
- ThreadNeutralSemaphore.cs
- AdornerDecorator.cs
- Tuple.cs
- UndirectedGraph.cs
- ReadOnlyHierarchicalDataSource.cs
- _SecureChannel.cs
- DataBoundControlDesigner.cs
- webproxy.cs
- InkCanvasInnerCanvas.cs
- TableRowGroup.cs
- securestring.cs
- DbProviderSpecificTypePropertyAttribute.cs
- StringFreezingAttribute.cs
- SelectionChangedEventArgs.cs
- GenericAuthenticationEventArgs.cs
- NativeBuffer.cs
- DefinitionUpdate.cs
- CustomValidator.cs
- Encoder.cs
- SingleStorage.cs
- JsonReader.cs
- MtomMessageEncoder.cs
- ObjectDataSource.cs
- ConfigXmlCDataSection.cs
- NotSupportedException.cs
- XmlQualifiedName.cs
- PieceDirectory.cs
- EmbeddedObject.cs
- CircleHotSpot.cs
- WebInvokeAttribute.cs
- FamilyTypefaceCollection.cs
- ArgumentOutOfRangeException.cs
- nulltextnavigator.cs
- XmlSchemaAppInfo.cs
- SocketAddress.cs
- TypeConverterAttribute.cs
- HttpHandlerActionCollection.cs
- DataGridRowAutomationPeer.cs
- FileVersionInfo.cs
- TextSpanModifier.cs
- oledbmetadatacolumnnames.cs
- x509utils.cs
- AccessDataSource.cs
- LoginName.cs
- ConcurrencyMode.cs
- KeyFrames.cs
- XmlSchemaAny.cs
- SynchronizedDispatch.cs
- HtmlElementCollection.cs
- LineUtil.cs
- Clipboard.cs
- BamlRecordReader.cs
- TimeoutStream.cs
- NameValuePermission.cs
- FontStretchConverter.cs