mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-16 11:06:49 +01:00
wayland: Implement GetDisplayBounds
This commit is contained in:
parent
ed24c3452a
commit
46df195b2a
@ -62,6 +62,8 @@ static void
|
|||||||
Wayland_GetDisplayModes(_THIS, SDL_VideoDisplay *sdl_display);
|
Wayland_GetDisplayModes(_THIS, SDL_VideoDisplay *sdl_display);
|
||||||
static int
|
static int
|
||||||
Wayland_SetDisplayMode(_THIS, SDL_VideoDisplay *display, SDL_DisplayMode *mode);
|
Wayland_SetDisplayMode(_THIS, SDL_VideoDisplay *display, SDL_DisplayMode *mode);
|
||||||
|
static int
|
||||||
|
Wayland_GetDisplayBounds(_THIS, SDL_VideoDisplay *display, SDL_Rect *rect);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
Wayland_VideoQuit(_THIS);
|
Wayland_VideoQuit(_THIS);
|
||||||
@ -179,6 +181,7 @@ Wayland_CreateDevice(int devindex)
|
|||||||
device->VideoQuit = Wayland_VideoQuit;
|
device->VideoQuit = Wayland_VideoQuit;
|
||||||
device->SetDisplayMode = Wayland_SetDisplayMode;
|
device->SetDisplayMode = Wayland_SetDisplayMode;
|
||||||
device->GetDisplayModes = Wayland_GetDisplayModes;
|
device->GetDisplayModes = Wayland_GetDisplayModes;
|
||||||
|
device->GetDisplayBounds = Wayland_GetDisplayBounds;
|
||||||
device->GetWindowWMInfo = Wayland_GetWindowWMInfo;
|
device->GetWindowWMInfo = Wayland_GetWindowWMInfo;
|
||||||
device->SuspendScreenSaver = Wayland_SuspendScreenSaver;
|
device->SuspendScreenSaver = Wayland_SuspendScreenSaver;
|
||||||
|
|
||||||
@ -251,6 +254,8 @@ display_handle_geometry(void *data,
|
|||||||
{
|
{
|
||||||
SDL_WaylandOutputData *driverdata = data;
|
SDL_WaylandOutputData *driverdata = data;
|
||||||
|
|
||||||
|
driverdata->x = x;
|
||||||
|
driverdata->y = y;
|
||||||
driverdata->placeholder.name = SDL_strdup(model);
|
driverdata->placeholder.name = SDL_strdup(model);
|
||||||
driverdata->transform = transform;
|
driverdata->transform = transform;
|
||||||
}
|
}
|
||||||
@ -513,6 +518,17 @@ Wayland_SetDisplayMode(_THIS, SDL_VideoDisplay *display, SDL_DisplayMode *mode)
|
|||||||
return SDL_Unsupported();
|
return SDL_Unsupported();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
Wayland_GetDisplayBounds(_THIS, SDL_VideoDisplay *display, SDL_Rect *rect)
|
||||||
|
{
|
||||||
|
SDL_WaylandOutputData *driverdata = (SDL_WaylandOutputData *)display->driverdata;
|
||||||
|
rect->x = driverdata->x;
|
||||||
|
rect->y = driverdata->y;
|
||||||
|
rect->w = display->current_mode.w;
|
||||||
|
rect->h = display->current_mode.h;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Wayland_VideoQuit(_THIS)
|
Wayland_VideoQuit(_THIS)
|
||||||
{
|
{
|
||||||
|
@ -93,7 +93,7 @@ typedef struct {
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
struct wl_output *output;
|
struct wl_output *output;
|
||||||
float scale_factor;
|
float scale_factor;
|
||||||
int width, height, refresh, transform;
|
int x, y, width, height, refresh, transform;
|
||||||
SDL_VideoDisplay placeholder;
|
SDL_VideoDisplay placeholder;
|
||||||
SDL_bool done;
|
SDL_bool done;
|
||||||
} SDL_WaylandOutputData;
|
} SDL_WaylandOutputData;
|
||||||
|
Loading…
Reference in New Issue
Block a user