Exemplo n.º 1
0
        /// <summary>
        /// Perform your drawing-operations here
        /// </summary>
        /// <param name="seconds">Time in seconds since the last Draw-call</param>
        protected virtual void OnDraw(double seconds)
        {
            if (this.DrawOnlyWhenInForeground)
            {
                if (WinAPI.GetForegroundWindow() != this.hWnd)
                {
                    return;
                }
            }

            WinAPI.MARGINS margins = new WinAPI.MARGINS();
            margins.topHeight    = 0; //this.Top;
            margins.bottomHeight = 0; // this.Bottom;
            margins.leftWidth    = this.Left;
            margins.rightWidth   = this.Right;
            this.Invoke((MethodInvoker)(() => { WinAPI.DwmExtendFrameIntoClientArea(this.Handle, ref margins); }));

            this.Renderer.BeginDraw();
            this.Renderer.Clear(this.Renderer.GetRendererBackColor());
            this.OnBeforeDrawingEvent(new OverlayEventArgs(this));

            foreach (UI.Control <TRenderer, TColor, TVector2, TFont> control in ChildControls)
            {
                if (control.Visible)
                {
                    control.Draw(this.Renderer);
                }
            }

            this.OnAfterDrawingEvent(new OverlayEventArgs(this));
            this.Renderer.EndDraw();
        }
Exemplo n.º 2
0
        protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);

            WinAPI.MARGINS margins = new WinAPI.MARGINS();
            margins.topHeight    = 0;
            margins.bottomHeight = 0;
            margins.leftWidth    = this.Left;
            margins.rightWidth   = this.Right;
            this.Invoke((MethodInvoker)(() => { WinAPI.DwmExtendFrameIntoClientArea(this.Handle, ref margins); }));
        }
Exemplo n.º 3
0
 protected override void WndProc(ref Message m)
 {
     if (m.Msg == WinAPI.WM_NCPAINT && AeroEnabled)
     {
         var v = 2;
         WinAPI.DwmSetWindowAttribute(this.Handle, 2, ref v, 4);
         var margins = new WinAPI.MARGINS()
         {
             bH = 1, lW = 1, rW = 1, tH = 1
         };
         WinAPI.DwmExtendFrameIntoClientArea(this.Handle, ref margins);
     }
     base.WndProc(ref m);
 }