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
This commit is contained in:
Eric Wasylishen 2016-02-26 20:18:27 +00:00
parent 185f2f2883
commit 9c9facfe7b

View file

@ -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,6 +638,8 @@ 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)
@ -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,6 +1527,7 @@ 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