2023-10-08 16:09:27 +02:00
|
|
|
|
|
|
|
|
#include <EGL/egl.h>
|
|
|
|
|
#include <gtk/gtk.h>
|
|
|
|
|
#include <jni.h>
|
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
|
|
|
|
|
|
struct ANativeWindow {
|
|
|
|
|
EGLNativeWindowType egl_window;
|
|
|
|
|
GtkWidget *surface_view_widget;
|
|
|
|
|
struct wl_display *wayland_display;
|
|
|
|
|
struct wl_surface *wayland_surface;
|
|
|
|
|
Display *x11_display;
|
|
|
|
|
gulong resize_handler;
|
|
|
|
|
int refcount;
|
|
|
|
|
};
|
|
|
|
|
|
2024-06-26 16:07:23 +02:00
|
|
|
extern GHashTable *egl_surface_hashtable;
|
2023-10-20 20:54:37 +02:00
|
|
|
|
2023-10-08 16:09:27 +02:00
|
|
|
struct ANativeWindow *ANativeWindow_fromSurface(JNIEnv* env, jobject surface);
|
2023-10-20 20:54:37 +02:00
|
|
|
EGLSurface bionic_eglCreateWindowSurface(EGLDisplay display, EGLConfig config, struct ANativeWindow *native_window, EGLint const *attrib_list);
|
|
|
|
|
EGLDisplay bionic_eglGetDisplay(NativeDisplayType native_display);
|
|
|
|
|
void ANativeWindow_release(struct ANativeWindow *native_window);
|