/// <summary> /// Constructs a DisplayWindow from a resource. /// </summary> /// <param name="resources"></param> /// <param name="name"></param> public DisplayWindow(Resources.AgateResourceCollection resources, string name) { Resources.AgateResource res = resources[name]; Resources.DisplayWindowResource disp = res as Resources.DisplayWindowResource; if (disp == null) { throw new Resources.AgateResourceException("Resource " + name + " was found, but was of type " + name.GetType().ToString() + ", not DisplayWindowResource."); } if (disp.FullScreen) { CreateWindowParams par = CreateWindowParams.FullScreen( disp.Title, disp.Size.Width, disp.Size.Height, disp.Bpp); impl = Display.Impl.CreateDisplayWindow(par); } else { CreateWindowParams par = CreateWindowParams.Windowed( disp.Title, disp.Size.Width, disp.Size.Height, disp.AllowResize, null); impl = Display.Impl.CreateDisplayWindow(par); } Display.RenderTarget = this; Display.DisposeDisplay += new Display.DisposeDisplayHandler(Dispose); }
/// <summary> /// Disposes of unmanaged resources. /// </summary> public void Dispose() { if (impl != null) { impl.Dispose(); impl = null; } }
protected override void ShowCursor() { System.Windows.Forms.Cursor.Show(); if (Display.CurrentWindow != null) { DisplayWindowImpl impl = Display.CurrentWindow.Impl; ((GL_IRenderTarget)impl).ShowCursor(); } }
/// <summary> /// Creates a DisplayWindow object using the specified CreateWindowParams to create /// the window. /// </summary> /// <param name="windowParams"></param> public DisplayWindow(CreateWindowParams windowParams) { if (Display.Impl == null) { throw new AgateException( "Display has not been initialized." + Environment.NewLine + "Did you forget to call AgateSetup.Initialize or Display.Initialize?"); } impl = Display.Impl.CreateDisplayWindow(windowParams); Display.RenderTarget = this; Display.DisposeDisplay += new Display.DisposeDisplayHandler(Dispose); }