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
- PagesSection.cs
- Positioning.cs
- DbParameterHelper.cs
- WorkflowQueueInfo.cs
- BitmapCodecInfo.cs
- HtmlMeta.cs
- Send.cs
- ClipboardData.cs
- GlobalizationAssembly.cs
- CodeCastExpression.cs
- InstalledFontCollection.cs
- ServiceModelConfiguration.cs
- NamespaceMapping.cs
- MyContact.cs
- documentsequencetextpointer.cs
- _PooledStream.cs
- XMLSchema.cs
- RemoteX509AsymmetricSecurityKey.cs
- WebPartAddingEventArgs.cs
- DataTableTypeConverter.cs
- SQLByte.cs
- Lease.cs
- DataListComponentEditor.cs
- QuaternionKeyFrameCollection.cs
- Memoizer.cs
- X509ClientCertificateAuthenticationElement.cs
- SplayTreeNode.cs
- XmlBindingWorker.cs
- ListBindingConverter.cs
- SmiEventSink_Default.cs
- MarkupProperty.cs
- TextElementCollection.cs
- TreeNodeCollectionEditorDialog.cs
- SchemaImporter.cs
- OlePropertyStructs.cs
- LogWriteRestartAreaState.cs
- StringReader.cs
- input.cs
- RootAction.cs
- AppSettingsReader.cs
- ComboBoxHelper.cs
- TypeDelegator.cs
- SizeChangedInfo.cs
- CombinedGeometry.cs
- SmiXetterAccessMap.cs
- ConsoleKeyInfo.cs
- PerformanceCounterCategory.cs
- MdiWindowListItemConverter.cs
- ArraySortHelper.cs
- CodeArrayCreateExpression.cs
- RecognizedPhrase.cs
- RealizationDrawingContextWalker.cs
- CaseStatementProjectedSlot.cs
- GcSettings.cs
- DataGridCaption.cs
- HostedNamedPipeTransportManager.cs
- PassportAuthenticationEventArgs.cs
- Comparer.cs
- IxmlLineInfo.cs
- SqlNodeTypeOperators.cs
- AddInBase.cs
- ComplexLine.cs
- ParameterToken.cs
- IntranetCredentialPolicy.cs
- CombinedGeometry.cs
- OperatorExpressions.cs
- SecurityRuntime.cs
- ControlCachePolicy.cs
- RepeaterItemCollection.cs
- CreateUserWizardStep.cs
- TextCollapsingProperties.cs
- EntityReference.cs
- SBCSCodePageEncoding.cs
- Thread.cs
- XamlInterfaces.cs
- CursorInteropHelper.cs
- PropertySourceInfo.cs
- DateTimePicker.cs
- Base64Decoder.cs
- PageParser.cs
- ConfigurationException.cs
- PasswordDeriveBytes.cs
- ItemsPresenter.cs
- XmlNode.cs
- ObjectQuery.cs
- ContextActivityUtils.cs
- ProjectionPlan.cs
- MemberCollection.cs
- CatalogPartChrome.cs
- FormatStringEditor.cs
- TextViewSelectionProcessor.cs
- EntitySqlQueryBuilder.cs
- MgmtConfigurationRecord.cs
- DataGridViewColumnEventArgs.cs
- ResolvePPIDRequest.cs
- ImageAutomationPeer.cs
- ThicknessKeyFrameCollection.cs
- UnmanagedMemoryStream.cs
- PtsHost.cs
- latinshape.cs