snes9x/gtk/src/gtk_wayland_egl_context.h

48 lines
1.2 KiB
C
Raw Normal View History

/*****************************************************************************\
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
This file is licensed under the Snes9x License.
For further information, consult the LICENSE file in the root directory.
\*****************************************************************************/
#ifndef __GTK_WAYLAND_EGL_CONTEXT_H
#define __GTK_WAYLAND_EGL_CONTEXT_H
2018-10-22 01:03:35 +02:00
#include <wayland-egl.h>
#include <epoxy/egl.h>
#include "gtk_opengl_context.h"
class WaylandEGLContext : public OpenGLContext
2018-10-22 01:03:35 +02:00
{
public:
WaylandEGLContext ();
~WaylandEGLContext ();
bool attach (GtkWidget *widget);
bool create_context ();
void resize ();
2018-10-22 01:03:35 +02:00
void swap_buffers ();
void swap_interval (int frames);
void make_current ();
GdkWindow *gdk_window;
struct wl_display *display;
struct wl_registry *registry;
struct wl_compositor *compositor;
struct wl_subcompositor *subcompositor;
struct wl_surface *parent;
struct wl_surface *child;
struct wl_subsurface *subsurface;
struct wl_region *region;
EGLDisplay egl_display;
EGLSurface egl_surface;
EGLContext egl_context;
EGLConfig egl_config;
wl_egl_window *egl_window;
};
#endif