Manina.Windows.Forms.ImageListViewLayoutManager.UpdateItemArea C# (CSharp) Method

UpdateItemArea() private method

Calculates the item area.
private UpdateItemArea ( ) : bool
return bool
        private bool UpdateItemArea()
        {
            // Calculate drawing area
            mClientArea = mImageListView.ClientRectangle;
            if (mImageListView.BorderStyle != System.Windows.Forms.BorderStyle.None)
                mClientArea.Inflate(-1, -1);
            mItemAreaBounds = mClientArea;

            // Allocate space for scrollbars
            if (mImageListView.hScrollBar.Visible)
            {
                mClientArea.Height -= mImageListView.hScrollBar.Height;
                mItemAreaBounds.Height -= mImageListView.hScrollBar.Height;
            }
            if (mImageListView.vScrollBar.Visible)
            {
                mClientArea.Width -= mImageListView.vScrollBar.Width;
                mItemAreaBounds.Width -= mImageListView.vScrollBar.Width;
            }

            // Allocate space for column headers
            if (mImageListView.View == View.Details)
            {
                int headerHeight = cachedColumnHeaderHeight;

                // Location of the column headers
                mColumnHeaderBounds.X = mClientArea.Left - mImageListView.ViewOffset.X;
                mColumnHeaderBounds.Y = mClientArea.Top;
                mColumnHeaderBounds.Height = headerHeight;
                mColumnHeaderBounds.Width = mClientArea.Width + mImageListView.ViewOffset.X;

                mItemAreaBounds.Y += headerHeight;
                mItemAreaBounds.Height -= headerHeight;
            }
            else
            {
                mColumnHeaderBounds = Rectangle.Empty;
            }
            // Modify item area for the gallery view mode
            if (mImageListView.View == View.Gallery)
            {
                mItemAreaBounds.Height = mItemSizeWithMargin.Height;
                mItemAreaBounds.Y = mClientArea.Bottom - mItemSizeWithMargin.Height;
            }
            // Modify item area for the pane view mode
            if (mImageListView.View == View.Pane)
            {
                mItemAreaBounds.Width -= cachedPaneWidth;
                mItemAreaBounds.X += cachedPaneWidth;
            }

            return (mItemAreaBounds.Width > 0 && mItemAreaBounds.Height > 0);
        }