Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
        }