File: winforms\Managed\System\WinForms\DataGridViewLayoutData.cs
Project: ndp\fx\src\System.Windows.Forms.csproj (System.Windows.Forms)
//------------------------------------------------------------------------------
// <copyright file="DataGridViewLayoutData.cs" company="Microsoft">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>            
//------------------------------------------------------------------------------
using System.Drawing;
using System.Text;
 
namespace System.Windows.Forms
{
    public partial class DataGridView
    {
        internal class LayoutData
        {
            internal bool dirty = true;
 
            // used for resizing.
            public Rectangle ClientRectangle = Rectangle.Empty;
 
            // region inside the dataGridView's borders.
            public Rectangle Inside = Rectangle.Empty;
 
            // region occupied by row headers
            public Rectangle RowHeaders = Rectangle.Empty;
 
            // region occupied by column headers
            public Rectangle ColumnHeaders = Rectangle.Empty;
 
            // top left header cell
            public Rectangle TopLeftHeader = Rectangle.Empty;
 
            // region for the cells
            public Rectangle Data = Rectangle.Empty;
 
            // square connecting the two scrollbars
            public Rectangle ResizeBoxRect = Rectangle.Empty;
 
            public bool ColumnHeadersVisible;
            public bool RowHeadersVisible;
 
            public LayoutData()
            {
            }
 
            public LayoutData(LayoutData src)
            {
                this.ClientRectangle = src.ClientRectangle;
                this.TopLeftHeader = src.TopLeftHeader;
                this.ColumnHeaders = src.ColumnHeaders;
                this.RowHeaders = src.RowHeaders;
                this.Inside = src.Inside;
                this.Data = src.Data;
                this.ResizeBoxRect = src.ResizeBoxRect;
                this.ColumnHeadersVisible = src.ColumnHeadersVisible;
                this.RowHeadersVisible = src.RowHeadersVisible;
            }
 
            public override string ToString()
            {
                StringBuilder sb = new StringBuilder(100);
                sb.Append(base.ToString());
                sb.Append(" { \n");
                sb.Append("ClientRectangle = ");
                sb.Append(ClientRectangle.ToString());
                sb.Append('\n');
                sb.Append("Inside = ");
                sb.Append(Inside.ToString());
                sb.Append('\n');
                sb.Append("TopLeftHeader = ");
                sb.Append(TopLeftHeader.ToString());
                sb.Append('\n');
                sb.Append("ColumnHeaders = ");
                sb.Append(ColumnHeaders.ToString());
                sb.Append('\n');
                sb.Append("RowHeaders = ");
                sb.Append(RowHeaders.ToString());
                sb.Append('\n');
                sb.Append("Data = ");
                sb.Append(Data.ToString());
                sb.Append('\n');
                sb.Append("ResizeBoxRect = ");
                sb.Append(ResizeBoxRect.ToString());
                sb.Append('\n');
                sb.Append("ColumnHeadersVisible = ");
                sb.Append(ColumnHeadersVisible.ToString());
                sb.Append('\n');
                sb.Append("RowHeadersVisible = ");
                sb.Append(RowHeadersVisible.ToString());
                sb.Append(" }");
                return sb.ToString();
            }
        }
    }
}