public SDX_DisplayWindow(DisplayWindow owner, CreateWindowParams windowParams) { mChoosePosition = windowParams.WindowPosition; mOwner = owner; if (windowParams.RenderToControl) { if (typeof(Control).IsAssignableFrom(windowParams.RenderTarget.GetType()) == false) { throw new ArgumentException("The specified render target does not derive from System.Windows.Forms.Control"); } mRenderTarget = (Control)windowParams.RenderTarget; mIsFullscreen = false; mChooseWidth = mRenderTarget.ClientSize.Width; mChooseHeight = mRenderTarget.ClientSize.Height; mDisplay = Display.Impl as SDX_Display; mDisplay.Initialize(this, windowParams); mDisplay.VSyncChanged += new EventHandler(mDisplay_VSyncChanged); } else { if (string.IsNullOrEmpty(windowParams.IconFile) == false) { mIcon = new Drawing.Icon(windowParams.IconFile); } mTitle = windowParams.Title; mIsFullscreen = windowParams.IsFullScreen; mChooseWidth = windowParams.Width; mChooseHeight = windowParams.Height; mChooseResize = windowParams.IsResizable; mHasFrame = windowParams.HasFrame; CreateWindow(mIsFullscreen); mDisplay = Display.Impl as SDX_Display; mDisplay.Initialize(this, windowParams); mDisplay.VSyncChanged += new EventHandler(mDisplay_VSyncChanged); } AttachEvents(); CreateBackBuffer(mIsFullscreen); }