RGB() private method

private RGB ( Color c ) : int
c Color
return int
        private static void _OnHwndBackgroundBrushChanged(DependencyObject d)
        {
            if (DesignerProperties.GetIsInDesignMode(d))
            {
                return;
            }

            var window = d as Window;

            Verify.IsNotNull(window, "window");

            WindowExtensions ext = _EnsureAttachedExtensions(window);

            if (ext._hwnd == IntPtr.Zero)
            {
                ext.WindowSourceInitialized += () => _OnHwndBackgroundBrushChanged(window);
                return;
            }

            SolidColorBrush backgroundBrush = (SolidColorBrush)window.GetValue(HwndBackgroundBrushProperty);
            //if (backgroundBrush == null)
            //{
            // Nothing to change.
            //    return;
            //}

            Color backgroundColor = backgroundBrush.Color;

            // Not really handling errors here, but they shouldn't matter... Might leak an HBRUSH.

            IntPtr hBrush = NativeMethods.CreateSolidBrush(Utility.RGB(backgroundColor));

            // Note that setting this doesn't necessarily repaint the window right away.
            // Since the WPF content should cover the HWND background this doesn't matter.
            // The new background will get repainted when the window is resized.
            IntPtr hBrushOld = NativeMethods.SetClassLongPtr(ext._hwnd, GCLP.HBRBACKGROUND, hBrush);

            if (IntPtr.Zero != hBrushOld)
            {
                NativeMethods.DeleteObject(hBrushOld);
            }
        }