Exemplo n.º 1
0
        private void UpdateWindowKeys(KeyboardState keyboard)
        {
            if (keyboard.IsKeyDown(Key.Escape))
            {
                Exit();
            }

            if (keyboard[Key.F11] && (lastKeyboard[Key.F11] != keyboard[Key.F11]))
            {
                DisplayDevice defaultDisplayDevice = DisplayDevice.GetDisplay(DisplayIndex.Default);

                if (WindowState == WindowState.Fullscreen)
                {
                    WindowState   = WindowState.Normal;
                    CursorVisible = true;
                    defaultDisplayDevice.RestoreResolution();
                }
                else
                {
                    WindowState   = WindowState.Fullscreen;
                    CursorVisible = false;
                    defaultDisplayDevice
                    .ChangeResolution(
                        Const.DISPLAY_FULLHD_W, Const.DISPLAY_FULLHD_H,
                        Const.DISPLAY_BITPERPIXEL,
                        Const.DISPLAY_REFRESH_RATE);
                }
            } // if state F11
        }     // UpdateWindowKeys()
Exemplo n.º 2
0
        public override void FullScreen()
        {
            DisplayDevice device = DisplayDevice.GetDisplay(0);

            device.ChangeResolution(width, height, 32, -1);

            window.WindowBorder = WindowBorder.Hidden;
            window.WindowState  = WindowState.Fullscreen;
        }
 public static void Main()
 {
     for (int i = 0; i < 6; i++)
     {
         DisplayDevice dev = DisplayDevice.GetDisplay(DisplayIndex.First + i);
         if (dev != null)
         {
             Trace.WriteLine(dev.ToString());
             MessageBox.Show(dev.ToString());
             dev.ChangeResolution(dev.SelectResolution(640, 480, 32, 60.0f));
             Thread.Sleep(1000);
             MessageBox.Show(dev.ToString());
             dev.RestoreResolution();
             Thread.Sleep(1000);
             MessageBox.Show(dev.ToString());
         }
     }
 }
Exemplo n.º 4
0
        private void ToggleFullscreen()
        {
            DisplayDevice defaultDisplayDevice = DisplayDevice.GetDisplay(DisplayIndex.Default);

            if (WindowState == WindowState.Fullscreen)
            {
                WindowState   = WindowState.Normal;
                CursorVisible = true;
                defaultDisplayDevice.RestoreResolution();
            }
            else
            {
                WindowState   = WindowState.Fullscreen;
                CursorVisible = false;
                defaultDisplayDevice
                .ChangeResolution(
                    Const.DISPLAY_FULLHD_W, Const.DISPLAY_FULLHD_H,
                    Const.DISPLAY_BITPERPIXEL,
                    Const.DISPLAY_REFRESH_RATE);
            }
        }
Exemplo n.º 5
0
        protected virtual void ChangeResolution(DisplayDevice display, Size newSize)
        {
            if (newSize.Width == display.Width && newSize.Height == display.Height)
            {
                return;
            }

            var newResolution = display.AvailableResolutions
                                .Where(r => r.Width == newSize.Width && r.Height == newSize.Height)
                                .OrderByDescending(r => r.RefreshRate)
                                .FirstOrDefault();

            if (newResolution == null)
            {
                // we wanted a new resolution but got nothing, which means OpenTK didn't find this resolution
                RestoreResolution(display);
            }
            else
            {
                display.ChangeResolution(newResolution);
                ClientSize = newSize;
            }
        }
Exemplo n.º 6
0
Arquivo: Vid.cs Projeto: Scrama/Quarp
        // VID_SetMode (int modenum, unsigned char *palette)
        // sets the mode; only used by the Quake engine for resetting to mode 0 (the
        // base mode) on memory allocation failures
        public static void SetMode(int modenum, byte[] palette)
        {
            if (modenum < 0 || modenum >= _Modes.Length)
            {
                Sys.Error("Bad video mode\n");
            }

            mode_t mode = _Modes[modenum];

            // so Con_Printfs don't mess us up by forcing vid and snd updates
            bool temp = Scr.IsDisabledForLoading;

            Scr.IsDisabledForLoading = true;

            CDAudio.Pause();

            // Set either the fullscreen or windowed mode
            DisplayDevice dev  = MainForm.DisplayDevice;
            MainForm      form = MainForm.Instance;

            if (_Windowed)
            {
                form.WindowState  = WindowState.Normal;
                form.WindowBorder = WindowBorder.Fixed;
                form.Location     = new Point((mode.width - form.Width) / 2, (mode.height - form.Height) / 2);
                if (_WindowedMouse.Value != 0 && Key.Destination == keydest_t.key_game)
                {
                    Input.ActivateMouse();
                    Input.HideMouse();
                }
                else
                {
                    Input.DeactivateMouse();
                    Input.ShowMouse();
                }
            }
            else
            {
                try
                {
                    dev.ChangeResolution(mode.width, mode.height, mode.bpp, mode.refreshRate);
                }
                catch (Exception ex)
                {
                    Sys.Error("Couldn't set video mode: " + ex.Message);
                }
                form.WindowState  = WindowState.Fullscreen;
                form.WindowBorder = WindowBorder.Hidden;
            }

            viddef_t vid = Scr.vid;

            if (vid.conheight > dev.Height)
            {
                vid.conheight = dev.Height;
            }
            if (vid.conwidth > dev.Width)
            {
                vid.conwidth = dev.Width;
            }

            vid.width  = vid.conwidth;
            vid.height = vid.conheight;

            vid.numpages = 2;

            CDAudio.Resume();
            Scr.IsDisabledForLoading = temp;

            _ModeNum = modenum;
            Cvar.Set("vid_mode", (float)_ModeNum);

            // fix the leftover Alt from any Alt-Tab or the like that switched us away
            ClearAllStates();

            Con.SafePrint("Video mode {0} initialized.\n", GetModeDescription(_ModeNum));

            SetPalette(palette);

            vid.recalc_refdef = true;
        }
Exemplo n.º 7
0
    public static void VID_SetMode(int modenum, byte[] palette)
    {
        if (modenum < 0 || modenum >= vid_modes.Length)
            Sys_Error("Bad video mode\n");

        mode_t mode = vid_modes[modenum];

        // so Con_Printfs don't mess us up by forcing vid and snd updates
        bool temp = scr_disabled_for_loading;
        scr_disabled_for_loading = true;

        CDAudio_Pause();

        // Set either the fullscreen or windowed mode
        DisplayDevice dev = MainForm.DisplayDevice;
        MainForm form = MainForm.Instance;
        
        if(!windowed)
        {
            try
            {
                dev.ChangeResolution(mode.width, mode.height, mode.bpp, mode.refreshRate);
            }
            catch (Exception ex)
            {
                Sys_Error("Couldn't set video mode: " + ex.Message);
            }
            form.WindowState = WindowState.Fullscreen;
            form.WindowBorder = WindowBorder.Hidden;
        }
        else
        {
            form.WindowState = WindowState.Normal;
            form.WindowBorder = WindowBorder.Fixed;
            form.Size = new Size(mode.width, mode.height);
            form.Location = new Point((mode.width - form.Width) / 2, (mode.height - form.Height) / 2);
            if (_windowed_mouse.value != 0 && key_dest == keydest_t.key_game)
            {
                IN_ActivateMouse();
                IN_HideMouse();
            }
            else
            {
                IN_DeactivateMouse();
                IN_ShowMouse();
            }
        }
        
        if (vid.conheight > mode.height)
            vid.conheight = mode.height;
        if (vid.conwidth > mode.width)
            vid.conwidth = mode.width;

        vid.width = vid.conwidth;
        vid.height = vid.conheight;

        vid.numpages = 2;

        CDAudio_Resume();
        scr_disabled_for_loading = temp;

        vid_modenum = modenum;
        Cvar.Cvar_SetValue("vid_mode", vid_modenum);

        // fix the leftover Alt from any Alt-Tab or the like that switched us away
        ClearAllStates();

        Con_SafePrintf("Video mode {0} initialized.\n", VID_GetModeDescription(vid_modenum));

        VID_SetPalette(palette);

        vid.recalc_refdef = true;
    }