From 9c9facfe7bedf0127887575562deff52fe204879 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Fri, 26 Feb 2016 20:18:27 +0000 Subject: [PATCH] gl_vidsdl.c: add vid_borderless cvar for getting a borderless window git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1292 af15c1b1-3010-417e-b628-4374ebc0bcbd --- Quake/gl_vidsdl.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Quake/gl_vidsdl.c b/Quake/gl_vidsdl.c index b03d0878..32c8e6ef 100644 --- a/Quake/gl_vidsdl.c +++ b/Quake/gl_vidsdl.c @@ -149,6 +149,7 @@ static cvar_t vid_bpp = {"vid_bpp", "16", CVAR_ARCHIVE}; static cvar_t vid_vsync = {"vid_vsync", "0", CVAR_ARCHIVE}; static cvar_t vid_fsaa = {"vid_fsaa", "0", CVAR_ARCHIVE}; // QuakeSpasm static cvar_t vid_desktopfullscreen = {"vid_desktopfullscreen", "0", CVAR_ARCHIVE}; // QuakeSpasm +static cvar_t vid_borderless = {"vid_borderless", "0", CVAR_ARCHIVE}; // QuakeSpasm //johnfitz cvar_t vid_gamma = {"gamma", "1", CVAR_ARCHIVE}; //johnfitz -- moved here from view.c @@ -575,6 +576,9 @@ static qboolean VID_SetMode (int width, int height, int bpp, qboolean fullscreen { flags = SDL_WINDOW_OPENGL | SDL_WINDOW_HIDDEN; + if (vid_borderless.value) + flags |= SDL_WINDOW_BORDERLESS; + draw_context = SDL_CreateWindow (caption, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, width, height, flags); if (!draw_context) { // scale back fsaa SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 0); @@ -604,6 +608,7 @@ static qboolean VID_SetMode (int width, int height, int bpp, qboolean fullscreen SDL_SetWindowSize (draw_context, width, height); SDL_SetWindowPosition (draw_context, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); SDL_SetWindowDisplayMode (draw_context, VID_SDL2_GetDisplayMode(width, height, bpp)); + SDL_SetWindowBordered (draw_context, vid_borderless.value ? SDL_FALSE : SDL_TRUE); /* Make window fullscreen if needed, and show the window */ @@ -633,7 +638,9 @@ static qboolean VID_SetMode (int width, int height, int bpp, qboolean fullscreen flags = DEFAULT_SDL_FLAGS; if (fullscreen) flags |= SDL_FULLSCREEN; - + if (vid_borderless.value) + flags |= SDL_NOFRAME; + gl_swap_control = true; if (SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, (vid_vsync.value) ? 1 : 0) == -1) gl_swap_control = false; @@ -1501,7 +1508,8 @@ void VID_Init (void) "vid_bpp", "vid_vsync", "vid_fsaa", - "vid_desktopfullscreen" }; + "vid_desktopfullscreen", + "vid_borderless"}; #define num_readvars ( sizeof(read_vars)/sizeof(read_vars[0]) ) Cvar_RegisterVariable (&vid_fullscreen); //johnfitz @@ -1511,6 +1519,7 @@ void VID_Init (void) Cvar_RegisterVariable (&vid_vsync); //johnfitz Cvar_RegisterVariable (&vid_fsaa); //QuakeSpasm Cvar_RegisterVariable (&vid_desktopfullscreen); //QuakeSpasm + Cvar_RegisterVariable (&vid_borderless); //QuakeSpasm Cvar_SetCallback (&vid_fullscreen, VID_Changed_f); Cvar_SetCallback (&vid_width, VID_Changed_f); Cvar_SetCallback (&vid_height, VID_Changed_f); @@ -1518,7 +1527,8 @@ void VID_Init (void) Cvar_SetCallback (&vid_vsync, VID_Changed_f); Cvar_SetCallback (&vid_fsaa, VID_FSAA_f); Cvar_SetCallback (&vid_desktopfullscreen, VID_Changed_f); - + Cvar_SetCallback (&vid_borderless, VID_Changed_f); + Cmd_AddCommand ("vid_unlock", VID_Unlock); //johnfitz Cmd_AddCommand ("vid_restart", VID_Restart); //johnfitz Cmd_AddCommand ("vid_test", VID_Test); //johnfitz