/// <summary> /// Raises the Paint event. /// </summary> /// <param name="e"> /// A <see cref="PaintEventArgs"/> that contains the event data. /// </param> protected override void OnPaint(PaintEventArgs e) { if (DesignMode == false) { if (_RenderContext != null) { // Render the UserControl if (_RenderContext.IsCurrent == false) { _RenderContext.MakeCurrent(true); } // Define viewport Gl.Viewport(0, 0, ClientSize.Width, ClientSize.Height); // Clear _RenderWindow.Clear(_RenderContext); // Derived class implementation RenderThis(_RenderContext); // Render event RaiseRenderEvent(new GraphicsControlEventArgs(_RenderContext, _RenderWindow)); // Swap buffers if double-buffering _RenderWindow.SwapSurface(); // Base implementation (overlay GDI graphics) base.OnPaint(e); } else { e.Graphics.DrawLines(_FailurePen, new Point[] { new Point(0, 0), new Point(ClientSize.Width, ClientSize.Height), new Point(0, ClientSize.Height), new Point(ClientSize.Width, 0), }); // Base implementation base.OnPaint(e); } } else { e.Graphics.Clear(Color.Black); e.Graphics.DrawLines(_DesignPen, new Point[] { new Point(0, 0), new Point(ClientSize.Width, ClientSize.Height), new Point(0, ClientSize.Height), new Point(ClientSize.Width, 0), }); // Base implementation base.OnPaint(e); } }