public SurfaceBox() { InitializeComponent(); this.scaleFactor = ScaleFactor.OneToOne; this.rendererList = new SurfaceBoxRendererList(this.Size, this.Size); this.rendererList.Invalidated += new InvalidateEventHandler(Renderers_Invalidated); this.baseRenderer = new SurfaceBoxBaseRenderer(this.rendererList, null); this.rendererList.Add(this.baseRenderer, false); }
public void RenderTo(Surface dst) { dst.Clear(ColorBgra.Transparent); if (this.surface != null) { SurfaceBoxRendererList sbrl = new SurfaceBoxRendererList(this.surface.Size, dst.Size); SurfaceBoxBaseRenderer sbbr = new SurfaceBoxBaseRenderer(sbrl, this.surface); sbrl.Add(sbbr, true); sbrl.Render(dst, new Point(0, 0)); sbrl.Remove(sbbr); } }
protected override void Dispose(bool disposing) { if (disposing) { if (this.baseRenderer != null) { this.rendererList.Remove(this.baseRenderer); this.baseRenderer.Dispose(); this.baseRenderer = null; } if (this.doubleBufferSurface != null) { this.doubleBufferSurface.Dispose(); this.doubleBufferSurface = null; } } base.Dispose(disposing); }