/// <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> /// Creates a CreateWindowParams object which describes rendering into a WinForms control. /// </summary> /// <param name="control"></param> /// <returns></returns> public static CreateWindowParams FromControl(object control) { CreateWindowParams retval = new CreateWindowParams(); retval.RenderToControl = true; retval.RenderTarget = control; return(retval); }
/// <summary> /// Creates a CreateWindowParams object which describes a desktop window with no frame or /// titlebar. This might be used for showing a splashscreen as the application loads. /// </summary> /// <param name="title"></param> /// <param name="width"></param> /// <param name="height"></param> /// <returns></returns> public static CreateWindowParams NoFrame(string title, int width, int height) { CreateWindowParams retval = new CreateWindowParams(); retval.Title = title; retval.Width = width; retval.Height = height; retval.IsResizable = false; retval.HasFrame = false; return(retval); }
/// <summary> /// Creates a CreateWindowParams object which describes a fullscreen window. /// </summary> /// <param name="title"></param> /// <param name="width"></param> /// <param name="height"></param> /// <param name="bpp"></param> /// <returns></returns> public static CreateWindowParams FullScreen(string title, int width, int height, int bpp) { CreateWindowParams retval = new CreateWindowParams(); retval.IsFullScreen = true; retval.Title = title; retval.Width = width; retval.Height = height; retval.bpp = bpp; return(retval); }
/// <summary> /// Creates a CreateWindowParams object which describes a typical window for non-fullscreen use. /// </summary> /// <param name="title"></param> /// <param name="width"></param> /// <param name="height"></param> /// <param name="iconFile"></param> /// <param name="allowResize"></param> /// <returns></returns> public static CreateWindowParams Windowed(string title, int width, int height, bool allowResize, string iconFile) { CreateWindowParams retval = new CreateWindowParams(); retval.Title = title; retval.Width = width; retval.Height = height; retval.IconFile = iconFile; retval.IsResizable = allowResize; retval.HasMaximize = allowResize; return(retval); }
/// <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); }
/// <summary> /// Creates a DisplayWindow object which is a desktop window with no frame or /// titlebar. /// </summary> /// <param name="title"></param> /// <param name="width"></param> /// <param name="height"></param> /// <returns></returns> public static DisplayWindow CreateNoFrame(string title, int width, int height) { return(new DisplayWindow(CreateWindowParams.NoFrame(title, width, height))); }
/// <summary> /// Creates a DisplayWindow object which generates a desktop window to render into. /// </summary> /// <param name="title"></param> /// <param name="width"></param> /// <param name="height"></param> /// <param name="iconFile"></param> /// <param name="allowResize"></param> /// <returns></returns> public static DisplayWindow CreateWindowed(string title, int width, int height, bool allowResize, string iconFile) { return(new DisplayWindow(CreateWindowParams.Windowed(title, width, height, allowResize, iconFile))); }
/// <summary> /// Creates a DisplayWindow object which renders to the entire screen, setting /// the resolution to the value specified. /// </summary> /// <param name="title"></param> /// <param name="width"></param> /// <param name="height"></param> /// <returns></returns> public static DisplayWindow CreateFullScreen(string title, int width, int height) { return(new DisplayWindow(CreateWindowParams.FullScreen(title, width, height, 32))); }
/// <summary> /// Creates a DisplayWindow object using the specified System.Windows.Forms.Control /// object as a render context. A DisplayWindow made in this manner cannot be made /// into a full-screen DisplayWindow. /// </summary> /// <remarks>Calling this function is equivalent to calling /// new DisplayWindow(CreateWindowParams.FromControl(control)).</remarks> /// <param name="control">Windows.Forms control which should be used as the /// render target.</param> public static DisplayWindow CreateFromControl(object control) { return(new DisplayWindow(CreateWindowParams.FromControl(control))); }