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
- TextElementCollectionHelper.cs
- linebase.cs
- DoubleAnimationClockResource.cs
- DetailsViewPageEventArgs.cs
- UnmanagedMemoryAccessor.cs
- SiteMapProvider.cs
- SerializerProvider.cs
- ToolStripDropDownDesigner.cs
- MemberDescriptor.cs
- StylusPoint.cs
- Utils.cs
- SelectingProviderEventArgs.cs
- TdsParameterSetter.cs
- updatecommandorderer.cs
- infer.cs
- SqlFunctionAttribute.cs
- RectAnimationUsingKeyFrames.cs
- InheritedPropertyChangedEventArgs.cs
- ArrowControl.xaml.cs
- Scene3D.cs
- _ConnectStream.cs
- PublisherIdentityPermission.cs
- SeparatorAutomationPeer.cs
- Parallel.cs
- Ref.cs
- ComponentRenameEvent.cs
- AssemblyUtil.cs
- ClusterSafeNativeMethods.cs
- StatementContext.cs
- Pen.cs
- LogRecordSequence.cs
- DataList.cs
- RawStylusSystemGestureInputReport.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- SQLDateTime.cs
- TraceUtils.cs
- PrinterSettings.cs
- COAUTHIDENTITY.cs
- ProfilePropertySettingsCollection.cs
- CharStorage.cs
- TreeNode.cs
- DataSourceSelectArguments.cs
- TableItemPatternIdentifiers.cs
- ReachDocumentReferenceSerializer.cs
- BindingList.cs
- TextRunCache.cs
- AutomationAttributeInfo.cs
- DragStartedEventArgs.cs
- WhileDesigner.xaml.cs
- DetailsViewRow.cs
- HostingEnvironmentSection.cs
- ToolStripSplitButton.cs
- ToolboxCategory.cs
- WindowsFormsHelpers.cs
- QilGeneratorEnv.cs
- Avt.cs
- PersonalizationProvider.cs
- ComponentEditorForm.cs
- ColumnTypeConverter.cs
- ControlParameter.cs
- DrawListViewSubItemEventArgs.cs
- AdapterUtil.cs
- SpecialTypeDataContract.cs
- MessageDecoder.cs
- RuleSettings.cs
- Binding.cs
- SmtpClient.cs
- ExportException.cs
- SchemaImporterExtension.cs
- BufferModeSettings.cs
- Int32RectValueSerializer.cs
- TextCharacters.cs
- wgx_commands.cs
- Converter.cs
- XmlQualifiedNameTest.cs
- Activator.cs
- WindowsScrollBar.cs
- VectorCollectionValueSerializer.cs
- UpdateException.cs
- TextServicesHost.cs
- GenericTypeParameterBuilder.cs
- TreeNodeStyle.cs
- ServiceEndpointAssociationProvider.cs
- IISMapPath.cs
- WebConfigurationHost.cs
- AttachedAnnotationChangedEventArgs.cs
- HierarchicalDataSourceIDConverter.cs
- DrawListViewSubItemEventArgs.cs
- TypePropertyEditor.cs
- SafeMarshalContext.cs
- SectionInformation.cs
- Resources.Designer.cs
- DiffuseMaterial.cs
- UpdateInfo.cs
- ProcessingInstructionAction.cs
- RoutedEventHandlerInfo.cs
- XmlValueConverter.cs
- SQLInt32.cs
- ResourceSetExpression.cs
- HtmlHead.cs