Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BitmapEffectDrawingContextState.cs
- RectConverter.cs
- Atom10FormatterFactory.cs
- ParseChildrenAsPropertiesAttribute.cs
- ServiceModelConfigurationSectionGroup.cs
- FontStretches.cs
- HttpCapabilitiesSectionHandler.cs
- Msec.cs
- _SslSessionsCache.cs
- EdmToObjectNamespaceMap.cs
- TabItemAutomationPeer.cs
- BoundPropertyEntry.cs
- IndexedEnumerable.cs
- XmlChildNodes.cs
- SystemWebCachingSectionGroup.cs
- XmlReflectionImporter.cs
- PathGradientBrush.cs
- MediaEntryAttribute.cs
- DynamicQueryableWrapper.cs
- RewritingValidator.cs
- CodeDOMProvider.cs
- IPEndPoint.cs
- OdbcConnection.cs
- ButtonColumn.cs
- NopReturnReader.cs
- UnauthorizedAccessException.cs
- AccessorTable.cs
- MarshalDirectiveException.cs
- Partitioner.cs
- WriterOutput.cs
- PageCopyCount.cs
- ShaperBuffers.cs
- ListSurrogate.cs
- Button.cs
- DataGridViewElement.cs
- ViewStateModeByIdAttribute.cs
- ArrayElementGridEntry.cs
- Point.cs
- SvcMapFileLoader.cs
- ToolStripKeyboardHandlingService.cs
- ContentOperations.cs
- DbConvert.cs
- MSAAEventDispatcher.cs
- WorkflowRuntimeSection.cs
- PrimitiveCodeDomSerializer.cs
- WebServiceEnumData.cs
- SelectionListComponentEditor.cs
- FontResourceCache.cs
- RowUpdatingEventArgs.cs
- DataGridViewCellLinkedList.cs
- EntityProviderFactory.cs
- _HeaderInfo.cs
- WebPartConnectionsCancelEventArgs.cs
- ItemsControlAutomationPeer.cs
- TrackBarRenderer.cs
- RadioButton.cs
- RenamedEventArgs.cs
- LoadedOrUnloadedOperation.cs
- ProvidersHelper.cs
- BulletedListDesigner.cs
- Bidi.cs
- Encoding.cs
- SocketAddress.cs
- followingsibling.cs
- TreeNodeBindingDepthConverter.cs
- DiagnosticsConfiguration.cs
- MetadataStore.cs
- _ContextAwareResult.cs
- GridPattern.cs
- DesignerActionPropertyItem.cs
- HttpWebResponse.cs
- FastPropertyAccessor.cs
- SiteMapHierarchicalDataSourceView.cs
- SafeArchiveContext.cs
- PriorityRange.cs
- DiagnosticsConfigurationHandler.cs
- VerbConverter.cs
- FactoryMaker.cs
- ClassImporter.cs
- TextDocumentView.cs
- XsltCompileContext.cs
- DataControlFieldCollection.cs
- QueryableFilterRepeater.cs
- SmtpNtlmAuthenticationModule.cs
- ZipIOFileItemStream.cs
- ObjectSelectorEditor.cs
- ResolveInfo.cs
- CalendarTable.cs
- RtType.cs
- CodeArgumentReferenceExpression.cs
- DataKeyCollection.cs
- ReadOnlyAttribute.cs
- SmiRecordBuffer.cs
- HtmlFormAdapter.cs
- DesignerSerializerAttribute.cs
- CommandID.cs
- HttpProcessUtility.cs
- TypeConverterAttribute.cs
- DataTable.cs
- WindowsEditBox.cs