[client] ds: added new getFullscreen operation

As the window manager may change our mode to full screen without our
request we must ask the ds backend for the current state when we want to
toggle the mode.
This commit is contained in:
Geoffrey McRae
2021-01-27 11:11:53 +11:00
parent cfa9171465
commit f4c1927f56
6 changed files with 23 additions and 4 deletions

View File

@@ -452,6 +452,11 @@ static void sdlSetFullscreen(bool fs)
SDL_SetWindowFullscreen(sdl.window, fs ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
}
static bool sdlGetFullscreen(void)
{
return (SDL_GetWindowFlags(sdl.window) & SDL_WINDOW_FULLSCREEN_DESKTOP) != 0;
}
struct LG_DisplayServerOps LGDS_SDL =
{
.probe = sdlProbe,
@@ -482,6 +487,7 @@ struct LG_DisplayServerOps LGDS_SDL =
.wait = sdlWait,
.setWindowSize = sdlSetWindowSize,
.setFullscreen = sdlSetFullscreen,
.getFullscreen = sdlGetFullscreen,
/* SDL does not have clipboard support */
.cbInit = NULL,

View File

@@ -1026,6 +1026,11 @@ static void x11SetFullscreen(bool fs)
SubstructureNotifyMask | SubstructureRedirectMask, &e);
}
static bool x11GetFullscreen(void)
{
return x11.fullscreen;
}
static bool x11CBInit()
{
x11.aSelection = XInternAtom(x11.display, "CLIPBOARD" , False);
@@ -1380,6 +1385,7 @@ struct LG_DisplayServerOps LGDS_X11 =
.wait = x11Wait,
.setWindowSize = x11SetWindowSize,
.setFullscreen = x11SetFullscreen,
.getFullscreen = x11GetFullscreen,
.cbInit = x11CBInit,
.cbNotice = x11CBNotice,