Example #1
0
        public bool ToggleFullscreen(RDisplayMode displayMode)
        {
            try
            {
                if (_renderControl.IsFullscreen)
                {
                    DisplayDevice.Default.RestoreResolution();
                    if (_renderControl.GetType() == typeof(GameWindowRenderControl))
                    {
                        (_renderControl as GameWindowRenderControl).GameWindow.WindowState = WindowState.Normal;
                    }

                    _renderControl.IsFullscreen = false;
                    RLog.Info("No longer in fullscreen mode.");
                }
                else
                {
                    if (_renderControl.GetType() == typeof(GameWindowRenderControl))
                    {
                        DisplayDevice.Default.ChangeResolution(displayMode.Width, displayMode.Height, 32, -1);
                        (_renderControl as GameWindowRenderControl).GameWindow.Size        = new System.Drawing.Size(displayMode.Width, displayMode.Height);
                        (_renderControl as GameWindowRenderControl).GameWindow.WindowState = WindowState.Fullscreen;
                        _renderControl.IsFullscreen = true;
                        RLog.Info(String.Format("Fullscreen mode activated : {0}", displayMode));
                    }
                }
                return(true);
            }
            catch (Exception e)
            {
                RLog.Error("Error attempting to go fullscreen.");
                RLog.Error(e);
                return(false);
            }
        }
Example #2
0
        public bool InitGameWindow(RDisplayMode displayMode, RWindowStyle windowStyle, string title = "Reactor")
        {
            try
            {
                RGame.GameWindow.Title = title;

                GameWindowRenderControl control = new GameWindowRenderControl();
                control.GameWindow            = RGame.GameWindow;
                control.GameWindow.ClientSize = new System.Drawing.Size(displayMode.Width, displayMode.Height);
                if (windowStyle == RWindowStyle.Borderless)
                {
                    control.GameWindow.WindowBorder = WindowBorder.Hidden;
                }
                control.GameWindow.X = 0;
                control.GameWindow.Y = 0;
                control.Context      = (GraphicsContext)control.GameWindow.Context;
                _renderControl       = control;

                RLog.Info(GetGLInfo());
                REngine.CheckGLError();
                RLog.Info("Game Window Renderer Initialized.");
                //PrintExtensions();
                REngine.CheckGLError();

                RShader.InitShaders();
                REngine.CheckGLError();
                Screen.Init();
                REngine.CheckGLError();
                return(true);
            } catch (Exception e) {
                RLog.Error(e);
                return(false);
            }
        }
Example #3
0
 public bool InitGameWindow(RDisplayMode displayMode, string title = "Reactor")
 {
     return(InitGameWindow(displayMode, RWindowStyle.Normal, title));
 }
Example #4
0
        public bool InitGameWindow(int width, int height, RWindowStyle windowStyle, string title = "Reactor")
        {
            RDisplayMode mode = new RDisplayMode(width, height, -1);

            return(InitGameWindow(mode, windowStyle, title));
        }