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
- CharacterMetricsDictionary.cs
- CorrelationManager.cs
- TerminatorSinks.cs
- SymDocumentType.cs
- MinMaxParagraphWidth.cs
- CollectionConverter.cs
- TypeConverterHelper.cs
- HitTestWithPointDrawingContextWalker.cs
- HitTestFilterBehavior.cs
- HttpInputStream.cs
- Vector3DCollectionConverter.cs
- ResponseBodyWriter.cs
- coordinator.cs
- ToolStripPanelSelectionBehavior.cs
- _BufferOffsetSize.cs
- CompareInfo.cs
- MemberAccessException.cs
- DataGridBoolColumn.cs
- _LoggingObject.cs
- RadioButton.cs
- TextRenderer.cs
- SqlDataSourceFilteringEventArgs.cs
- CriticalFinalizerObject.cs
- PrintingPermission.cs
- PageCache.cs
- TreeWalkHelper.cs
- DesignerListAdapter.cs
- ConstructorArgumentAttribute.cs
- PropertyReferenceExtension.cs
- EmptyStringExpandableObjectConverter.cs
- BasicExpandProvider.cs
- ExceptionUtility.cs
- BaseTemplateBuildProvider.cs
- XPathScanner.cs
- UnmanagedMarshal.cs
- SqlNodeAnnotations.cs
- ExpressionCopier.cs
- ComboBoxItem.cs
- PropertyGridView.cs
- PeerPresenceInfo.cs
- XomlDesignerLoader.cs
- InstanceKeyNotReadyException.cs
- ArraySubsetEnumerator.cs
- CompilationUtil.cs
- CodePageEncoding.cs
- EncodingInfo.cs
- ProgressBarBrushConverter.cs
- LineProperties.cs
- ActivitiesCollection.cs
- DesignerRegionMouseEventArgs.cs
- FixedSOMPageElement.cs
- InvalidFilterCriteriaException.cs
- FrameworkElementAutomationPeer.cs
- ConstrainedGroup.cs
- OrthographicCamera.cs
- IsolatedStoragePermission.cs
- TemplateBaseAction.cs
- FixedBufferAttribute.cs
- QueryBranchOp.cs
- Intellisense.cs
- RegexBoyerMoore.cs
- FlowLayoutPanel.cs
- UInt16Storage.cs
- HttpPostedFileWrapper.cs
- StateInitializationDesigner.cs
- ByteStorage.cs
- MultilineStringConverter.cs
- DocumentSchemaValidator.cs
- SecurityTimestamp.cs
- PageParser.cs
- NativeCppClassAttribute.cs
- BinaryObjectInfo.cs
- TileBrush.cs
- ConfigXmlElement.cs
- DynamicResourceExtensionConverter.cs
- DbParameterCollectionHelper.cs
- XmlNavigatorFilter.cs
- DBDataPermissionAttribute.cs
- EntryPointNotFoundException.cs
- XmlReturnWriter.cs
- StylusOverProperty.cs
- CompositionAdorner.cs
- VolatileResourceManager.cs
- ConfigXmlText.cs
- HttpStaticObjectsCollectionWrapper.cs
- ProcessHostFactoryHelper.cs
- TriggerCollection.cs
- Tokenizer.cs
- OpenTypeLayoutCache.cs
- PkcsMisc.cs
- DialogBaseForm.cs
- DateTimeFormatInfoScanner.cs
- Expression.cs
- EventLogException.cs
- TextEditorDragDrop.cs
- DragEvent.cs
- XmlUtilWriter.cs
- SharedStream.cs
- TypeDelegator.cs
- BufferAllocator.cs