Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SoapSchemaExporter.cs
- Scene3D.cs
- HandlerBase.cs
- LocationSectionRecord.cs
- UpdateExpressionVisitor.cs
- RefreshPropertiesAttribute.cs
- ValidationResult.cs
- BufferedGraphicsManager.cs
- WebServiceClientProxyGenerator.cs
- StrokeNodeOperations2.cs
- SerializationObjectManager.cs
- SecurityState.cs
- Message.cs
- ColumnBinding.cs
- TraceSource.cs
- PackageDigitalSignature.cs
- MimeTypeMapper.cs
- SinglePhaseEnlistment.cs
- PrivateFontCollection.cs
- Rfc4050KeyFormatter.cs
- SolidColorBrush.cs
- HttpModuleAction.cs
- CodeTypeOfExpression.cs
- DbResourceAllocator.cs
- InternalTransaction.cs
- XmlSerializationGeneratedCode.cs
- DataGridViewCellStateChangedEventArgs.cs
- PathSegmentCollection.cs
- ContextActivityUtils.cs
- TranslateTransform.cs
- CultureTable.cs
- ModelUIElement3D.cs
- AutomationPatternInfo.cs
- SafeSystemMetrics.cs
- Operator.cs
- DoubleCollection.cs
- ActivitiesCollection.cs
- WebBrowserProgressChangedEventHandler.cs
- ToolStripSeparator.cs
- RegexReplacement.cs
- ExtendedPropertyCollection.cs
- AuthenticationService.cs
- ChineseLunisolarCalendar.cs
- WorkItem.cs
- ScrollChrome.cs
- SQLBoolean.cs
- TextWriter.cs
- XmlSchemaFacet.cs
- IDictionary.cs
- AssemblySettingAttributes.cs
- OpCopier.cs
- DataConnectionHelper.cs
- SmtpReplyReaderFactory.cs
- PriorityBinding.cs
- CompiledXpathExpr.cs
- MatchAttribute.cs
- MenuCommandsChangedEventArgs.cs
- InternalMappingException.cs
- SQLBytesStorage.cs
- baseaxisquery.cs
- XmlSchemaAttribute.cs
- Int16.cs
- DataGridPagerStyle.cs
- Fonts.cs
- UseLicense.cs
- MetadataArtifactLoader.cs
- CommonObjectSecurity.cs
- Types.cs
- MatrixTransform3D.cs
- FlowLayout.cs
- XmlFileEditor.cs
- RegexCharClass.cs
- BaseTemplateCodeDomTreeGenerator.cs
- EditorZoneBase.cs
- InlineObject.cs
- ObjectCloneHelper.cs
- ServerProtocol.cs
- MarkedHighlightComponent.cs
- ContainerControl.cs
- SystemIPInterfaceStatistics.cs
- AutomationIdentifierGuids.cs
- TextFormatter.cs
- DataGridViewCellMouseEventArgs.cs
- _UriSyntax.cs
- NativeMethodsCLR.cs
- NavigationProgressEventArgs.cs
- CompoundFileStreamReference.cs
- PixelFormats.cs
- SqlTopReducer.cs
- PrintDialogException.cs
- PermissionSetTriple.cs
- InvalidateEvent.cs
- DashStyles.cs
- DetailsViewInsertedEventArgs.cs
- ReadOnlyDataSourceView.cs
- SchemaDeclBase.cs
- DataGridViewRowsRemovedEventArgs.cs
- StylusCollection.cs
- StringStorage.cs
- CompositeActivityCodeGenerator.cs