public void WithDependencyInjection()
{
using (var form = new Form())
{
form.ClientSize = new Size(800, 600);
var renderWindow = DependencyResolver.ResolveWith<IRenderWindow>(
"control", form); //new Xna.XnaRenderWindow(form.Handle);
form.KeyPress +=
delegate(object sender, KeyPressEventArgs args)
{
if (args.KeyChar == 'p')
{
renderWindow.TakeScreenshot("test.bmp");
}
else if (args.KeyChar == 's')
{
renderWindow.Dispose();
//ObjectFactory.Profile = ObjectFactory.Profile == "Xna" ? "SlimDX" : "Xna";
renderWindow = DependencyResolver.ResolveWith<IRenderWindow>(
"windowHandle", form.Handle);
// if (renderWindow is Xna.XnaRenderWindow)
// {
// renderWindow.Dispose();
// renderWindow = new SlimDX.SlimDXRenderWindow(form.Handle);
// }
// else
// {
// renderWindow.Dispose();
// renderWindow = new Xna.XnaRenderWindow(form.Handle);
// }
}
};
Application.Idle +=
delegate
{
renderWindow.Render();
Application.DoEvents();
};
Application.Run(form);
if (renderWindow != null)
{
renderWindow.Dispose();
}
}
}