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
- Matrix.cs
- DbUpdateCommandTree.cs
- ReceiveMessageContent.cs
- PasswordRecoveryDesigner.cs
- ForceCopyBuildProvider.cs
- Color.cs
- StringDictionaryEditor.cs
- QueryPageSettingsEventArgs.cs
- NotifyInputEventArgs.cs
- NetDataContractSerializer.cs
- HtmlHistory.cs
- FusionWrap.cs
- PartialCachingControl.cs
- ControlSerializer.cs
- SolidBrush.cs
- DynamicAttribute.cs
- ExceptionUtility.cs
- RootProfilePropertySettingsCollection.cs
- DataControlReferenceCollection.cs
- TextFormatterContext.cs
- DeferredTextReference.cs
- Misc.cs
- AbandonedMutexException.cs
- SectionUpdates.cs
- Util.cs
- MethodRental.cs
- GatewayIPAddressInformationCollection.cs
- ScrollEventArgs.cs
- AssociationEndMember.cs
- SuppressMergeCheckAttribute.cs
- Int16Storage.cs
- ProgramPublisher.cs
- SecUtil.cs
- PagerSettings.cs
- ConfigurationManagerHelper.cs
- SoapAttributeAttribute.cs
- TCPListener.cs
- MarginsConverter.cs
- RoleService.cs
- SdlChannelSink.cs
- TextWriterTraceListener.cs
- CriticalFinalizerObject.cs
- ContextMenu.cs
- CodeComment.cs
- IndexerNameAttribute.cs
- EventEntry.cs
- Package.cs
- BatchStream.cs
- StorageInfo.cs
- ScriptControlManager.cs
- StyleSheet.cs
- ListBindingConverter.cs
- WindowsIPAddress.cs
- TypeExtensions.cs
- TableLayoutStyleCollection.cs
- TemplateControlCodeDomTreeGenerator.cs
- CustomExpressionEventArgs.cs
- Propagator.cs
- HierarchicalDataBoundControlAdapter.cs
- Scheduler.cs
- WindowsFont.cs
- ColumnHeader.cs
- WeakReference.cs
- BufferedReceiveElement.cs
- ClientRoleProvider.cs
- SizeLimitedCache.cs
- ConditionalAttribute.cs
- WebRequestModuleElement.cs
- QuinticEase.cs
- Rotation3D.cs
- ListComponentEditorPage.cs
- BooleanProjectedSlot.cs
- URLIdentityPermission.cs
- ScriptReferenceBase.cs
- TableLayoutPanelCellPosition.cs
- UnsignedPublishLicense.cs
- BidOverLoads.cs
- PageParserFilter.cs
- ValueQuery.cs
- SmtpTransport.cs
- StateMachineDesignerPaint.cs
- CommunicationObject.cs
- DesignTimeTemplateParser.cs
- MailWebEventProvider.cs
- bidPrivateBase.cs
- CodeIndexerExpression.cs
- PeerCollaborationPermission.cs
- GridView.cs
- RequestStatusBarUpdateEventArgs.cs
- BuildDependencySet.cs
- DrawingGroup.cs
- ZipIOExtraFieldZip64Element.cs
- SurrogateEncoder.cs
- FileAuthorizationModule.cs
- _RequestCacheProtocol.cs
- WebPartConnection.cs
- QueryLifecycle.cs
- Model3DGroup.cs
- DataGridTable.cs
- PseudoWebRequest.cs