
eglut is a simple library with GLUT-like API. It is intended to be used by simple EGL demos.
79 lines
1.3 KiB
C
79 lines
1.3 KiB
C
#ifndef _EGLUTINT_H_
|
|
#define _EGLUTINT_H_
|
|
|
|
#include "EGL/egl.h"
|
|
#include "eglut.h"
|
|
|
|
struct eglut_window {
|
|
EGLConfig config;
|
|
EGLContext context;
|
|
|
|
/* initialized by native display */
|
|
struct {
|
|
union {
|
|
EGLNativeWindowType window;
|
|
EGLNativePixmapType pixmap;
|
|
EGLSurface surface; /* pbuffer or screen surface */
|
|
} u;
|
|
int width, height;
|
|
} native;
|
|
|
|
EGLSurface surface;
|
|
|
|
int index;
|
|
|
|
EGLUTreshapeCB reshape_cb;
|
|
EGLUTdisplayCB display_cb;
|
|
EGLUTkeyboardCB keyboard_cb;
|
|
EGLUTspecialCB special_cb;
|
|
};
|
|
|
|
struct eglut_state {
|
|
int api_mask;
|
|
int window_width, window_height;
|
|
const char *display_name;
|
|
int verbose;
|
|
int init_time;
|
|
|
|
EGLUTidleCB idle_cb;
|
|
|
|
int num_windows;
|
|
|
|
/* initialized by native display */
|
|
EGLNativeDisplayType native_dpy;
|
|
EGLint surface_type;
|
|
|
|
EGLDisplay dpy;
|
|
EGLint major, minor;
|
|
|
|
struct eglut_window *current;
|
|
|
|
int redisplay;
|
|
};
|
|
|
|
extern struct eglut_state *_eglut;
|
|
|
|
void
|
|
_eglutFatal(char *format, ...);
|
|
|
|
int
|
|
_eglutNow(void);
|
|
|
|
void
|
|
_eglutNativeInitDisplay(void);
|
|
|
|
void
|
|
_eglutNativeFiniDisplay(void);
|
|
|
|
void
|
|
_eglutNativeInitWindow(struct eglut_window *win, const char *title,
|
|
int x, int y, int w, int h);
|
|
|
|
void
|
|
_eglutNativeFiniWindow(struct eglut_window *win);
|
|
|
|
void
|
|
_eglutNativeEventLoop(void);
|
|
|
|
#endif /* _EGLUTINT_H_ */
|