21 #include "../../SDL_internal.h" 23 #if SDL_VIDEO_DRIVER_WAYLAND && SDL_VIDEO_OPENGL_EGL 25 #include "../SDL_sysvideo.h" 26 #include "../../events/SDL_windowevents_c.h" 33 #include "xdg-shell-client-protocol.h" 34 #include "xdg-shell-unstable-v6-client-protocol.h" 46 WAYLAND_wl_display_flush(data->
display);
66 struct wl_region *region;
95 wl_region_add(region, 0, 0, window->
w, window->
h);
96 wl_surface_set_opaque_region(data->
surface, region);
97 wl_region_destroy(region);
112 if (window && context) {
144 SDL_EGL_DeleteContext(
_this, context);
struct SDL_VideoData::@264 shell
union SDL_WindowData::@267 shell_surface
struct zxdg_surface_v6 * surface
struct wl_display * display
void Wayland_GLES_DeleteContext(_THIS, SDL_GLContext context)
GLfloat GLfloat GLfloat GLfloat h
static screen_context_t context
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
struct SDL_WindowData::@268 resize
int SDL_SendWindowEvent(SDL_Window *window, Uint8 windowevent, int data1, int data2)
SDL_GLContext Wayland_GLES_CreateContext(_THIS, SDL_Window *window)
static SDL_VideoDevice * _this
SDL_xdg_shell_surface xdg
void * SDL_GLContext
An opaque handle to an OpenGL context.
SDL_VideoData * waylandData
GLubyte GLubyte GLubyte GLubyte w
int Wayland_GLES_MakeCurrent(_THIS, SDL_Window *window, SDL_GLContext context)
int Wayland_GLES_SwapWindow(_THIS, SDL_Window *window)
void Wayland_GLES_GetDrawableSize(_THIS, SDL_Window *window, int *w, int *h)
struct wl_compositor * compositor
SDL_zxdg_shell_surface zxdg
void Wayland_PumpEvents(_THIS)
EGLSurface EGLNativeWindowType * window
The type used to identify a window.
struct xdg_surface * surface
struct zxdg_shell_v6 * zxdg
GLsizei const GLchar *const * path
int Wayland_GLES_LoadLibrary(_THIS, const char *path)
struct wl_egl_window * egl_window