2019-06-26 22:31:27 +02:00
|
|
|
#include <EGL/egl.h>
|
|
|
|
#include <GLES2/gl2.h>
|
|
|
|
|
|
|
|
struct modifier_state {
|
|
|
|
uint32_t depressed, latched, locked, group;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct callbacks {
|
|
|
|
void (*resize) (int width, int height);
|
|
|
|
void (*draw) (void);
|
|
|
|
void (*mouse_motion) (int x, int y);
|
|
|
|
void (*mouse_button) (int button, int state);
|
|
|
|
void (*key) (int key, int state);
|
|
|
|
void (*modifiers) (struct modifier_state modifier_state);
|
2019-06-27 02:48:05 +02:00
|
|
|
void (*terminate) ();
|
2019-06-26 22:31:27 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
void backend_init (struct callbacks *callbacks);
|
|
|
|
EGLDisplay backend_get_egl_display (void);
|
|
|
|
void backend_swap_buffers (void);
|
|
|
|
void backend_dispatch_nonblocking (void);
|
|
|
|
void backend_wait_for_events (int wayland_fd);
|
|
|
|
void backend_get_keymap (int *fd, int *size);
|
|
|
|
long backend_get_timestamp (void);
|
|
|
|
|
|
|
|
void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * data);
|