예제 #1
0
        /*  IRenderer IRendererFactory.Open(object ctl, System.Drawing.Size videosize)
         * {
         *    throw new NotImplementedException();
         * }*/
        IRenderer IRendererFactory.Open(IXwtRender xwt, Canvas widget, OpenTK.IRenderOwner renderer, FPS fps, size videosize)
        {
            lock (this)
            {
                IRenderer result;
                //    if (this.renderer == null)
                {
                    result = /*this.renderer = */ new OpenTKRenderer(this, xwt, widget, renderer, videosize);
                }
                //   else
                {
                    //        r = (this.renderer as OpenTKRenderer).Open(window, videosize);
                }

                renderers.Add(result);
                return(result);
            }
        }
예제 #2
0
 public void Dispose()
 {
     this.renderer.Unlock(hascontext);
     this.renderer = null;
     GC.SuppressFinalize(this);
 }
예제 #3
0
 public _rendererlock(IRenderer renderer, bool hascontext)
 {
     this.renderer   = renderer as OpenTKRenderer;
     this.hascontext = hascontext;
     this.renderer.Lock(hascontext);
 }