using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;

namespace Standard
{
    internal struct NONCLIENTMETRICS
    {
        [SuppressMessage("Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands")]
        public static NONCLIENTMETRICS VistaMetricsStruct
        {
            get
            {
                return new NONCLIENTMETRICS
                {
                    cbSize = Marshal.SizeOf(typeof(NONCLIENTMETRICS))
                };
            }
        }

        [SuppressMessage("Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands")]
        public static NONCLIENTMETRICS XPMetricsStruct
        {
            get
            {
                return new NONCLIENTMETRICS
                {
                    cbSize = Marshal.SizeOf(typeof(NONCLIENTMETRICS)) - 4
                };
            }
        }

        public int cbSize;

        public int iBorderWidth;

        public int iScrollWidth;

        public int iScrollHeight;

        public int iCaptionWidth;

        public int iCaptionHeight;

        public LOGFONT lfCaptionFont;

        public int iSmCaptionWidth;

        public int iSmCaptionHeight;

        public LOGFONT lfSmCaptionFont;

        public int iMenuWidth;

        public int iMenuHeight;

        public LOGFONT lfMenuFont;

        public LOGFONT lfStatusFont;

        public LOGFONT lfMessageFont;

        public int iPaddedBorderWidth;
    }
}
