Exemplo n.º 1
0
    public static bool SetWindowCorners(Window window, CornerPreference corner)
    {
        if (Environment.OSVersion.Version < new Version(10, 0, 22000) /* Windows 11 */)
        {
            return(false);
        }

        var windowHandle = new WindowInteropHelper(window).Handle;

        uint value;

        switch (corner)
        {
        case CornerPreference.NotRound:
            value = (uint)DWMWCP.DWMWCP_DONOTROUND;
            break;

        case CornerPreference.Round:
            value = (uint)DWMWCP.DWMWCP_ROUND;
            break;

        default:
            return(false);
        }

        return(DwmSetWindowAttribute(
                   windowHandle,
                   DWMWA.DWMWA_WINDOW_CORNER_PREFERENCE,
                   ref value,
                   (uint)Marshal.SizeOf(value)) == S_OK);
    }
Exemplo n.º 2
0
        public static bool SetCornersForWin11(Window window, CornerPreference corner)
        {
            var windowHandle = new WindowInteropHelper(window).Handle;

            uint value;

            switch (corner)
            {
            case CornerPreference.NotRound:
                value = (uint)DWMWCP.DWMWCP_DONOTROUND;
                break;

            case CornerPreference.Round:
                value = (uint)DWMWCP.DWMWCP_ROUND;
                break;

            default:
                return(false);
            }

            return(DwmSetWindowAttribute(
                       windowHandle,
                       (uint)DWMWA.DWMWA_WINDOW_CORNER_PREFERENCE,
                       ref value,
                       (uint)Marshal.SizeOf(value)) == S_OK);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Checks command-line arguments
        /// </summary>
        /// <param name="arguments">Arguments</param>
        protected virtual void CheckArguments(IReadOnlyList <string> arguments)
        {
            if (arguments is null)
            {
                return;
            }

            int i = 0;

            while (i < arguments.Count - 1)
            {
                switch (arguments[i])
                {
                case ThemeOption when Enum.TryParse(arguments[i + 1], true, out ColorTheme buffer):
                    _theme = buffer;

                    RespondsThemeChanged = false;
                    i++;
                    break;

                case TextureOption when Enum.TryParse(arguments[i + 1], true, out BackgroundTexture buffer):
                    _texture = buffer;

                    i++;
                    break;

                case CornerOption when Enum.TryParse(arguments[i + 1], true, out CornerPreference buffer):
                    _corner = buffer;

                    i++;
                    break;
                }
                i++;
            }
        }