TranslateTransform.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media / TranslateTransform.cs / 1 / TranslateTransform.cs

                            //------------------------------------------------------------------------------ 
//  Microsoft Avalon
//  Copyright (c) Microsoft Corporation, 2001
//
//  File:       TranslateTransform.cs 
//-----------------------------------------------------------------------------
 
using MS.Internal; 
using MS.Internal.PresentationCore;
using System; 
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics; 
using System.Globalization;
using System.Reflection; 
using System.Runtime.InteropServices; 
using System.Security;
using System.Text; 
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Composition; 

using SR=MS.Internal.PresentationCore.SR; 
using SRID=MS.Internal.PresentationCore.SRID; 

namespace System.Windows.Media 
{
    #region TranslateTransform
    ///
    /// Create a translation transformation. 
    ///
    public sealed partial class TranslateTransform : Transform 
    { 
        ///
        /// 
        ///
        public TranslateTransform()
        {
        } 

        /// 
        /// Create a translation transformation. 
        ///
        ///Displacement amount in x direction. 
        ///Displacement amount in y direction.
        public TranslateTransform(
            double offsetX,
            double offsetY 
            )
        { 
            X = offsetX; 
            Y = offsetY;
        } 

        ///
        /// Return the current transformation value.
        /// 
        public override Matrix Value
        { 
            get 
            {
                ReadPreamble(); 

                Matrix matrix = Matrix.Identity;

                matrix.Translate(X, Y); 

                return matrix; 
            } 
        }
 
        ///
        /// Returns true if transformation matches the identity transform.
        ///
        internal override bool IsIdentity 
        {
            get 
            { 
                return X == 0 && Y == 0 && CanFreeze;
            } 
        }

        #region Internal Methods
 
        internal override void TransformRect(ref Rect rect)
        { 
            if (!rect.IsEmpty) 
            {
                rect.Offset(X, Y); 
            }
        }

        ///  
        /// MultiplyValueByMatrix - result is set equal to "this" * matrixToMultiplyBy.
        ///  
        ///  The result is stored here.  
        ///  The multiplicand. 
        internal override void MultiplyValueByMatrix(ref Matrix result, ref Matrix matrixToMultiplyBy) 
        {
            result = Matrix.Identity;

            // Set the translate + type 
            result._offsetX = X;
            result._offsetY = Y; 
            result._type = MatrixTypes.TRANSFORM_IS_TRANSLATION; 

            MatrixUtil.MultiplyMatrix(ref result, ref matrixToMultiplyBy); 
        }

        #endregion Internal Methods
    } 
    #endregion
} 

// 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:       TranslateTransform.cs 
//-----------------------------------------------------------------------------
 
using MS.Internal; 
using MS.Internal.PresentationCore;
using System; 
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics; 
using System.Globalization;
using System.Reflection; 
using System.Runtime.InteropServices; 
using System.Security;
using System.Text; 
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Composition; 

using SR=MS.Internal.PresentationCore.SR; 
using SRID=MS.Internal.PresentationCore.SRID; 

namespace System.Windows.Media 
{
    #region TranslateTransform
    ///
    /// Create a translation transformation. 
    ///
    public sealed partial class TranslateTransform : Transform 
    { 
        ///
        /// 
        ///
        public TranslateTransform()
        {
        } 

        /// 
        /// Create a translation transformation. 
        ///
        ///Displacement amount in x direction. 
        ///Displacement amount in y direction.
        public TranslateTransform(
            double offsetX,
            double offsetY 
            )
        { 
            X = offsetX; 
            Y = offsetY;
        } 

        ///
        /// Return the current transformation value.
        /// 
        public override Matrix Value
        { 
            get 
            {
                ReadPreamble(); 

                Matrix matrix = Matrix.Identity;

                matrix.Translate(X, Y); 

                return matrix; 
            } 
        }
 
        ///
        /// Returns true if transformation matches the identity transform.
        ///
        internal override bool IsIdentity 
        {
            get 
            { 
                return X == 0 && Y == 0 && CanFreeze;
            } 
        }

        #region Internal Methods
 
        internal override void TransformRect(ref Rect rect)
        { 
            if (!rect.IsEmpty) 
            {
                rect.Offset(X, Y); 
            }
        }

        ///  
        /// MultiplyValueByMatrix - result is set equal to "this" * matrixToMultiplyBy.
        ///  
        ///  The result is stored here.  
        ///  The multiplicand. 
        internal override void MultiplyValueByMatrix(ref Matrix result, ref Matrix matrixToMultiplyBy) 
        {
            result = Matrix.Identity;

            // Set the translate + type 
            result._offsetX = X;
            result._offsetY = Y; 
            result._type = MatrixTypes.TRANSFORM_IS_TRANSLATION; 

            MatrixUtil.MultiplyMatrix(ref result, ref matrixToMultiplyBy); 
        }

        #endregion Internal Methods
    } 
    #endregion
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK