private void EnableBlurBehind()
        {
            // Enables Windows 7 blur behind whole form
            var options = new BlurBehind(true);

            NativeMethods.DwmEnableBlurBehindWindow(this.Handle, ref options);
        }
        public static void DisableBlurBehind(IntPtr hWnd)
        {
            BlurBehind bb = new BlurBehind();
            bb.dwFlags = BlurBehindFlags.Enable;
            bb.fEnable = false;

            NativeMethods.DwmEnableBlurBehindWindow(hWnd, ref bb);
        }
Beispiel #3
0
        public static void DisableBlurBehind(IntPtr hWnd)
        {
            BlurBehind pBlurBehind = new BlurBehind();

            pBlurBehind.dwFlags = BlurBehindFlags.Enable;
            pBlurBehind.fEnable = false;
            Win32API.DwmEnableBlurBehindWindow(hWnd, ref pBlurBehind);
        }
Beispiel #4
0
        protected override void OnContentRendered(EventArgs e)
        {
            base.OnContentRendered(e);

            BlurBehind.EnableBlur(mainWindow);

            element.RenderTransformOrigin = new Point(0.5, 0.5);
        }
        /// <summary>Enable the Aero "Blur Behind" effect on the whole client area. Background must be black.</summary>
        public static void EnableBlurBehind(IntPtr hWnd)
        {
            BlurBehind bb = new BlurBehind();
            bb.dwFlags = BlurBehindFlags.Enable;
            bb.fEnable = true;
            bb.hRgnBlur = (IntPtr)0;

            NativeMethods.DwmEnableBlurBehindWindow(hWnd, ref bb);
        }
        /// <summary>Enable the Aero "Blur Behind" effect on the whole client area. Background must be black.</summary>
        public static void EnableBlurBehind(IntPtr hWnd, IntPtr regionHandle)
        {
            BlurBehind bb = new BlurBehind();
            bb.dwFlags = BlurBehindFlags.Enable | BlurBehindFlags.BlurRegion;
            bb.fEnable = true;
            bb.hRgnBlur = regionHandle;

            NativeMethods.DwmEnableBlurBehindWindow(hWnd, ref bb);
        }
        private static void EnableBlurBehindWindow(IntPtr handle, ref BlurBehind blurStr)
        {
            if (!IsCompositionEnable())
            {
                return;
            }

            DwmEnableBlurBehindWindow(handle, ref blurStr);
        }
Beispiel #8
0
        public static void EnableBlurBehind(IntPtr hWnd)
        {
            BlurBehind pBlurBehind = new BlurBehind();

            pBlurBehind.dwFlags  = BlurBehindFlags.Enable;
            pBlurBehind.fEnable  = true;
            pBlurBehind.hRgnBlur = IntPtr.Zero;
            Win32API.DwmEnableBlurBehindWindow(hWnd, ref pBlurBehind);
        }
        private static void EnableBlurBehindWindow(Form form, ref BlurBehind blurStr)
        {
            if (!IsCompositionEnable())
            {
                return;
            }

            EnableBlurBehindWindow(form.Handle, ref blurStr);
        }
Beispiel #10
0
        public static void EnableBlurBehind(IntPtr hWnd, IntPtr regionHandle)
        {
            BlurBehind pBlurBehind = new BlurBehind();

            pBlurBehind.dwFlags  = BlurBehindFlags.BlurRegion | BlurBehindFlags.Enable;
            pBlurBehind.fEnable  = true;
            pBlurBehind.hRgnBlur = regionHandle;
            Win32API.DwmEnableBlurBehindWindow(hWnd, ref pBlurBehind);
        }
        private void HackBlurBehind()
        {
            // Enables transparency, but without blur.
            // Technicaly, it's still there, but it's outside of visible region
            var options = new BlurBehind(true);

            using (var g = this.CreateGraphics()) {
                using (var r = new Region(new Rectangle(-1, -1, 1, 1))) {
                    options.SetRegion(g, r);
                }
            }
            NativeMethods.DwmEnableBlurBehindWindow(this.Handle, ref options);
        }
Beispiel #12
0
        /// <summary>
        /// Enable the Aero "Blur Behind" effect on a specific region of a drawing area. Background must be black.
        /// </summary>
        /// <param name="window">The window.</param>
        /// <param name="graphics">The graphics area on which the region resides.</param>
        /// <param name="region">The region within the client area to apply the blur behind.</param>
        /// <param name="enabled"><c>true</c> to enable blur behind for this region, <c>false</c> to disable it.</param>
        /// <param name="transitionOnMaximized"><c>true</c> if the window's colorization should transition to match the maximized windows; otherwise, <c>false</c>.</param>
        public static void EnableBlurBehind(this IWin32Window window, System.Drawing.Graphics graphics, System.Drawing.Region region, bool enabled, bool transitionOnMaximized)
        {
            BlurBehind bb = new BlurBehind(enabled);

            if (graphics != null && region != null)
            {
                bb.SetRegion(graphics, region);
            }
            if (transitionOnMaximized)
            {
                bb.TransitionOnMaximized = true;
            }
            DwmEnableBlurBehindWindow(window.Handle, ref bb);
        }
        public static void EnableBlurBehindWindow(Form form, Rectangle rect)
        {
            if (!IsCompositionEnable())
            {
                return;
            }

            BlurBehind blurStr = new BlurBehind();

            blurStr.Enable  = true;
            blurStr.Flags   = BlurBehindEnum.DWM_BB_ENABLE | BlurBehindEnum.DWM_BB_TRANSITIONONMAXIMIZED | BlurBehindEnum.DWM_BB_BLURREGION;
            blurStr.RgnBlur = CreateRegionFromRectangle(rect);
            blurStr.TransitionOnMaximized = false;
            EnableBlurBehindWindow(form, ref blurStr);
        }
Beispiel #14
0
            public static void EnableBlurBehindWindow(IntPtr handle, bool isEnabled, bool isMaximized, IntPtr region = default(IntPtr))
            {
                if (!IsDwmCompositionEnabled)
                {
                    return;
                }

                BlurBehind data = new BlurBehind
                {
                    IsEnabled = isEnabled,
                    IsTransitionOnMaximized = isMaximized,
                    Region = region
                };

                data.Flags = BlurBehindFlags.Enable | BlurBehindFlags.TransitionOnMaximized;
                if (region != IntPtr.Zero)
                {
                    data.Flags |= BlurBehindFlags.Region;
                }

                _DwmEnableBlurBehindWindow(handle, ref data);
            }
Beispiel #15
0
 internal static extern void DwmEnableBlurBehindWindow(IntPtr hWnd, ref BlurBehind pBlurBehind);
Beispiel #16
0
 private static extern void _DwmEnableBlurBehindWindow(IntPtr handle, ref BlurBehind blurBehind);
Beispiel #17
0
 public static extern int DwmEnableBlurBehindWindow(IntPtr hWnd, ref BlurBehind pBlurBehind);
 void OnPreRender()
 {
     BlurBehind.SetViewport();
 }
 private static extern void DwmEnableBlurBehindWindow(IntPtr hwnd, ref BlurBehind blurBehind);
 internal static extern int DwmEnableBlurBehindWindow(IntPtr hWnd, ref BlurBehind pBlurBehind);
Beispiel #21
0
 /// <summary>
 /// Enable the Aero "Blur Behind" effect on a specific region of a drawing area. Background must be black.
 /// </summary>
 /// <param name="window">The window.</param>
 /// <param name="graphics">The graphics area on which the region resides.</param>
 /// <param name="region">The region within the client area to apply the blur behind.</param>
 /// <param name="enabled"><c>true</c> to enable blur behind for this region, <c>false</c> to disable it.</param>
 /// <param name="transitionOnMaximized"><c>true</c> if the window's colorization should transition to match the maximized windows; otherwise, <c>false</c>.</param>
 public static void EnableBlurBehind(this IWin32Window window, System.Drawing.Graphics graphics, System.Drawing.Region region, bool enabled, bool transitionOnMaximized)
 {
     BlurBehind bb = new BlurBehind(enabled);
     if (graphics != null && region != null)
         bb.SetRegion(graphics, region);
     if (transitionOnMaximized)
         bb.TransitionOnMaximized = true;
     DwmEnableBlurBehindWindow(window.Handle, ref bb);
 }
Beispiel #22
0
 public static extern void DwmEnableBlurBehindWindow(IntPtr hWnd, ref BlurBehind pBlurBehind);
 void OnPostRender()
 {
     BlurBehind.ResetViewport();
 }