summaryrefslogtreecommitdiff
path: root/EGL/yagl_egl_state.h
blob: 9e541e1980768c4997d635b0601a7f0f936c7431 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef _YAGL_EGL_STATE_H_
#define _YAGL_EGL_STATE_H_

#include "yagl_export.h"
#include "yagl_types.h"
#include "EGL/egl.h"

struct yagl_context;
struct yagl_surface;

void *yagl_get_gles1_sym(const char *name);
void *yagl_get_gles2_sym(const char *name);

/*
 * Those return per-thread values.
 * @{
 */

EGLint yagl_get_error();

void yagl_set_error(EGLint error);

EGLenum yagl_get_api();

void yagl_set_api(EGLenum api);

struct yagl_context *yagl_get_context();
struct yagl_surface *yagl_get_draw_surface();
struct yagl_surface *yagl_get_read_surface();

int yagl_set_context(struct yagl_context *ctx,
                     struct yagl_surface *draw_sfc,
                     struct yagl_surface *read_sfc);

void yagl_reset_state();

struct yagl_client_interface *yagl_get_client_interface(yagl_client_api client_api);

/*
 * @}
 */

#endif