FixedLineResult.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / FixedLineResult.cs / 1 / FixedLineResult.cs

                            //---------------------------------------------------------------------------- 
// 
//      Copyright (C) 2004 by Microsoft Corporation.  All rights reserved.
// 
// 
// Description:
//      FixedLineResult represents a per-line layout info for a fixe page 
// 
// History:
//      11/23/2004 - [....] ([....]) - Created. 
//
//---------------------------------------------------------------------------

namespace System.Windows.Documents 
{
    using MS.Internal.Documents; 
    using System; 
    using System.Collections;
    using System.Diagnostics; 
    using System.Globalization;


    //===================================================================== 
    /// 
    ///     FixedLineResult represents a per-line layout info for a fixe page 
    ///  
    internal sealed class FixedLineResult : IComparable
    { 
        //-------------------------------------------------------------------
        //
        // Connstructors
        // 
        //----------------------------------------------------------------------
 
        #region Constructors 
        internal FixedLineResult(FixedNode[] nodes, Rect layoutBox)
        { 
            _nodes = nodes;
            _layoutBox = layoutBox;
        }
        #endregion Constructors 

        //------------------------------------------------------------------- 
        // 
        // Public Methods
        // 
        //----------------------------------------------------------------------

        // IComparable Override
        public int CompareTo(object o) 
        {
            if (o == null) 
            { 
                throw new ArgumentNullException("o");
            } 

            if (o.GetType() != typeof(FixedLineResult))
            {
                throw new ArgumentException(SR.Get(SRID.UnexpectedParameterType, o.GetType(), typeof(FixedLineResult)), "o"); 
            }
 
            FixedLineResult lineResult = (FixedLineResult)o; 
            return this.BaseLine.CompareTo(lineResult.BaseLine);
        } 


#if DEBUG
        ///  
        /// Create a string representation of this object
        ///  
        /// string - A string representation of this object 
        public override string ToString()
        { 
            return String.Format(CultureInfo.InvariantCulture, "FLR[{0}:{1}][{2}][{3}]", Start.ToString(), End.ToString(), BaseLine, _layoutBox);
        }
#endif
 
        //--------------------------------------------------------------------
        // 
        // Public Properties 
        //
        //--------------------------------------------------------------------- 

        //--------------------------------------------------------------------
        //
        // Public Events 
        //
        //--------------------------------------------------------------------- 
 
        //-------------------------------------------------------------------
        // 
        // Internal Methods
        //
        //---------------------------------------------------------------------
 

        //-------------------------------------------------------------------- 
        // 
        // Internal Properties
        // 
        //---------------------------------------------------------------------

        #region Internal Properties
        // 
        internal FixedNode Start
        { 
            get 
            {
                return _nodes[0]; 
            }
        }

        internal FixedNode End 
        {
            get 
            { 
                return _nodes[_nodes.Length - 1];
            } 
        }

        internal FixedNode[] Nodes
        { 
            get
            { 
                return _nodes; 
            }
        } 

        internal double BaseLine
        {
            get 
            {
                return _layoutBox.Bottom; 
            } 
        }
 
        internal Rect LayoutBox
        {
            get
            { 
                return _layoutBox;
            } 
        } 
        #endregion Internal Properties
 
        //--------------------------------------------------------------------
        //
        // Private Methods
        // 
        //----------------------------------------------------------------------
 
        #region Private Properties 
        #endregion Private Properties
 
        //-------------------------------------------------------------------
        //
        // Private Fields
        // 
        //----------------------------------------------------------------------
        #region Private Fields 
        private readonly FixedNode[]  _nodes; 
        private readonly Rect       _layoutBox;  // relative to page
        #endregion Private Fields 
    }
}

// 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