public override void Initialize( Axiom.Graphics.RenderWindow parent, bool useKeyboard, bool useMouse, bool useGamepad, bool ownMouse )
{
Contract.Requires( parent.GetType().Name == "OpenTKWindow", "RenderSystem", "OpenTK InputManager requires OpenTK OpenGL Renderer." );
this.parent = parent;
INativeWindow window = (INativeWindow)parent[ "nativewindow" ];
if ( window == null )
return;
keyboard = window.InputDriver.Keyboard[ 0 ];
//keyboard = window.Keyboard;
if ( useMouse )
{
mouse = window.InputDriver.Mouse[ 0 ];
if ( ownMouse )
{
this.ownMouse = true;
System.Windows.Forms.Cursor.Hide();
}
// mouse starts out in the center of the window
center.X = parent.Width / 2;
center.Y = parent.Height / 2;
if ( ownMouse )
{
center = window.PointToScreen( center );
System.Windows.Forms.Cursor.Position = center;
mouseX = oldX = center.X;
mouseY = oldY = center.Y;
}
else
{
System.Drawing.Point center2 = window.PointToScreen( center );
System.Windows.Forms.Cursor.Position = center2;
mouseX = oldX = center.X;
mouseY = oldY = center.Y;
}
}
}