Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- BoundsDrawingContextWalker.cs
- PointConverter.cs
- RoleGroupCollectionEditor.cs
- ErrorView.xaml.cs
- GcHandle.cs
- DocobjHost.cs
- CursorConverter.cs
- SynchronizingStream.cs
- CharacterMetricsDictionary.cs
- Cursors.cs
- SystemMulticastIPAddressInformation.cs
- ContextStack.cs
- ToolStripDropDownItem.cs
- WindowsGraphics.cs
- PersistenceProviderBehavior.cs
- WebPartConnectionsConfigureVerb.cs
- AutoScrollHelper.cs
- ObjectListComponentEditor.cs
- RunWorkerCompletedEventArgs.cs
- SqlStream.cs
- EntityModelSchemaGenerator.cs
- Viewport2DVisual3D.cs
- Label.cs
- VoiceChangeEventArgs.cs
- GC.cs
- Registry.cs
- SingleKeyFrameCollection.cs
- StorageEntitySetMapping.cs
- Events.cs
- DataDocumentXPathNavigator.cs
- HitTestFilterBehavior.cs
- DbProviderFactoriesConfigurationHandler.cs
- FileDialogPermission.cs
- ToolStripRenderEventArgs.cs
- NameTable.cs
- SchemaElement.cs
- IteratorFilter.cs
- ApplicationGesture.cs
- ResourcePool.cs
- OrderPreservingPipeliningMergeHelper.cs
- CompatibleComparer.cs
- EnumerableValidator.cs
- EpmTargetPathSegment.cs
- BamlMapTable.cs
- EntityDataSourceWrapperCollection.cs
- XmlNodeChangedEventManager.cs
- ColumnClickEvent.cs
- PresentationAppDomainManager.cs
- VScrollProperties.cs
- XmlSchemaComplexContent.cs
- InvalidAsynchronousStateException.cs
- _SingleItemRequestCache.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- XmlEncodedRawTextWriter.cs
- SerializationEventsCache.cs
- StylusPointPropertyInfoDefaults.cs
- RsaSecurityKey.cs
- SqlDataSourceFilteringEventArgs.cs
- ExpandedProjectionNode.cs
- RankException.cs
- PerformanceCounterCategory.cs
- FixedSchema.cs
- SamlConditions.cs
- SystemColorTracker.cs
- AnimationLayer.cs
- CatalogPartCollection.cs
- HostingEnvironmentWrapper.cs
- Propagator.Evaluator.cs
- PipelineModuleStepContainer.cs
- CacheSection.cs
- DataTableTypeConverter.cs
- RefType.cs
- GeneratedCodeAttribute.cs
- CommandPlan.cs
- Token.cs
- UpdateRecord.cs
- StackSpiller.Temps.cs
- MatrixAnimationUsingKeyFrames.cs
- wmiprovider.cs
- XhtmlTextWriter.cs
- WebAdminConfigurationHelper.cs
- ProcessStartInfo.cs
- ExtendedPropertyDescriptor.cs
- CodeComment.cs
- ResponseBodyWriter.cs
- HttpCachePolicyElement.cs
- TextLine.cs
- ConfigXmlAttribute.cs
- SmtpLoginAuthenticationModule.cs
- DbConnectionPoolCounters.cs
- TextServicesCompartmentEventSink.cs
- InternalControlCollection.cs
- AssemblyEvidenceFactory.cs
- FillErrorEventArgs.cs
- LassoSelectionBehavior.cs
- HtmlEmptyTagControlBuilder.cs
- OdbcEnvironment.cs
- RepeaterItemEventArgs.cs
- AutomationPropertyInfo.cs
- XmlSubtreeReader.cs