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
- ControlHelper.cs
- TextTreeObjectNode.cs
- WebPartConnectionsEventArgs.cs
- FixedSOMTableRow.cs
- Color.cs
- DesignerOptionService.cs
- Grant.cs
- ObjectStateEntry.cs
- TreeChangeInfo.cs
- linebase.cs
- LoginView.cs
- SinglePageViewer.cs
- Bitmap.cs
- TextAdaptor.cs
- FileLoadException.cs
- SqlDataSourceSelectingEventArgs.cs
- WebPartConnectionsCancelEventArgs.cs
- XPathBinder.cs
- CompilerScopeManager.cs
- WhereaboutsReader.cs
- InvalidateEvent.cs
- HandlerFactoryWrapper.cs
- PerspectiveCamera.cs
- BinaryObjectWriter.cs
- AtomServiceDocumentSerializer.cs
- CodeSnippetTypeMember.cs
- ThaiBuddhistCalendar.cs
- AssociationEndMember.cs
- _SslState.cs
- ChildTable.cs
- RelatedView.cs
- CodeStatement.cs
- FormView.cs
- ScriptingAuthenticationServiceSection.cs
- ScrollBarRenderer.cs
- XmlWriterSettings.cs
- Base64Decoder.cs
- ResolvePPIDRequest.cs
- FileDialogCustomPlace.cs
- Classification.cs
- TreeView.cs
- BinaryWriter.cs
- SectionInput.cs
- SerialErrors.cs
- HostingEnvironment.cs
- HwndTarget.cs
- TextElementCollectionHelper.cs
- FixedNode.cs
- XPathCompileException.cs
- ContainerSelectorBehavior.cs
- IndexedSelectQueryOperator.cs
- SoundPlayer.cs
- ResolveMatchesApril2005.cs
- HijriCalendar.cs
- InvalidComObjectException.cs
- TemplateBamlTreeBuilder.cs
- MarkupCompilePass1.cs
- StrongNameMembershipCondition.cs
- ModelItemKeyValuePair.cs
- ComponentConverter.cs
- SoapMessage.cs
- PeerResolverBindingElement.cs
- VersionUtil.cs
- State.cs
- StorageAssociationTypeMapping.cs
- TemplateNodeContextMenu.cs
- KnownTypes.cs
- CalloutQueueItem.cs
- PermissionSetEnumerator.cs
- ExpressionNode.cs
- AssociationEndMember.cs
- HtmlGenericControl.cs
- XmlSchemaGroupRef.cs
- SQLDecimalStorage.cs
- BindingContext.cs
- Margins.cs
- DetailsViewRow.cs
- XXXOnTypeBuilderInstantiation.cs
- ByteConverter.cs
- DeadCharTextComposition.cs
- Debug.cs
- DeferredTextReference.cs
- MenuScrollingVisibilityConverter.cs
- StorageConditionPropertyMapping.cs
- DeferredRunTextReference.cs
- DeflateInput.cs
- AxisAngleRotation3D.cs
- XmlComplianceUtil.cs
- ReachPageContentCollectionSerializerAsync.cs
- CodeSnippetStatement.cs
- BindingValueChangedEventArgs.cs
- DataKeyPropertyAttribute.cs
- FlowLayoutSettings.cs
- OracleParameter.cs
- BoundPropertyEntry.cs
- OracleInfoMessageEventArgs.cs
- DispatcherHookEventArgs.cs
- TiffBitmapEncoder.cs
- ProcessHostConfigUtils.cs
- Rfc2898DeriveBytes.cs