Exemplo n.º 1
0
        public RenderForm CreateWindowHandle(string title, int width, int height)
        {
            RenderForm handle = new RenderForm(title)
            {
                ClientSize = new Size(width, height),
                MinimumSize = new Size(0, 0)
            };
            handle.Hide();

            WindowState = handle.WindowState;

            handle.MouseClick += (s, e) => { GameEventListener.RunClickEvent(handle, e); };
            handle.KeyDown += (s, e) => { GameEventListener.RunKeyDownEvent(handle, e); };
            handle.KeyUp += (s, e) => { GameEventListener.RunKeyUpEvent(handle, e); };
            handle.UserResized += (s, e) =>
            {
                GameEventListener.RunResizeEvent(handle, new Size(handle.Width, handle.Height));
                Device.Reset(new PresentParameters(Window.ClientSize.Width, Math.Max(1, Window.ClientSize.Height))
                {
                    MultiSampleType = MultisampleType.EightSamples
                });
                GameEventListener.RunDeviceResetEvent(handle, Device);
                ConfigDX();
            };
            handle.FormClosing += (s, e) => { GameEventListener.RunPreCloseEvent(handle, e); };
            handle.FormClosed += (s, e) => { Closed = true; };

            return handle;
        }