public void Run() { using (var form = new Form()) { form.ClientSize = new Size(800, 600); using (var renderWindow = new SlimDXRenderWindow(form.Handle)) { form.KeyPress += delegate(object sender, KeyPressEventArgs args) { if (args.KeyChar == 'p') { renderWindow.TakeScreenshot("testSlimDX.bmp"); } else if (args.KeyChar == 'f') { renderWindow.SwitchFullscreen(); } }; Application.Idle += delegate { renderWindow.Render(); Application.DoEvents(); }; Application.Run(form); } } }
/// <summary> /// Creates a new render window. /// </summary> /// <param name="control">The control in which the content will be rendered.</param> /// <returns>A new created render window.</returns> public IRenderWindow CreateRenderWindow(Control control) { var renderWindow = new SlimDXRenderWindow(control.Handle); mDevice = renderWindow.Device; return renderWindow; }
public void CanSwitchBetweenRenderWindows() { using (var form = new Form()) { form.ClientSize = new Size(800, 600); IRenderWindow renderWindow = new XnaRenderWindow(form.Handle); form.KeyPress += delegate(object sender, KeyPressEventArgs args) { if (args.KeyChar == 'p') { renderWindow.TakeScreenshot("test.bmp"); } else if (args.KeyChar == 's') { if (renderWindow is XnaRenderWindow) { renderWindow.Dispose(); renderWindow = new SlimDXRenderWindow(form.Handle); } else { renderWindow.Dispose(); renderWindow = new XnaRenderWindow(form.Handle); } } }; Application.Idle += delegate { renderWindow.Render(); Application.DoEvents(); }; Application.Run(form); if (renderWindow != null) { renderWindow.Dispose(); } } }
public void CanSwitchBetweenRenderWindowsWhenRenderingIsDoneInAControl() { using (var form = new Form()) { form.ClientSize = new Size(1024, 760); var button = new Button { Size = new Size(800, 600), Top = 112, Left = 80, Parent = form }; IntPtr handle = button.Handle; IRenderWindow renderWindow = new XnaRenderWindow(handle); button.KeyPress += delegate(object sender, KeyPressEventArgs args) { if (args.KeyChar == 'p') { renderWindow.TakeScreenshot("test.bmp"); } else if (args.KeyChar == 's') { if (renderWindow is XnaRenderWindow) { renderWindow.Dispose(); renderWindow = new SlimDXRenderWindow(handle); } else { renderWindow.Dispose(); renderWindow = new XnaRenderWindow(handle); } } }; Application.Idle += delegate { renderWindow.Render(); Application.DoEvents(); }; Application.Run(form); if (renderWindow != null) { renderWindow.Dispose(); } } }