aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/evas/engines/gl_common/evas_gl_core.h
blob: 9979e91cd0a85fee05e5311f09a28ded048d0271 (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
#ifndef _EVAS_GL_CORE_H
#define _EVAS_GL_CORE_H
#define EVAS_GL_NO_GL_H_CHECK 1
#include "Evas_GL.h"

typedef void *EVGLNative_Display;
typedef void *EVGLNative_Window;
typedef void *EVGLNative_Surface;
typedef void *EVGLNative_Context;
typedef struct _EVGL_Engine         EVGL_Engine;
typedef struct _EVGL_Interface      EVGL_Interface;
typedef struct _EVGL_Surface        EVGL_Surface;
typedef struct _EVGL_Native_Window  EVGL_Native_Window;
typedef struct _EVGL_Context        EVGL_Context;
typedef struct _EVGL_Resource       EVGL_Resource;
typedef struct _EVGL_Cap            EVGL_Cap;
typedef struct _EVGL_Surface_Cap    EVGL_Surface_Cap;
typedef struct _EVGL_Surface_Format EVGL_Surface_Format;


extern EVGL_Engine *evgl_engine_create(EVGL_Interface *efunc, void *engine_data);
extern int          evgl_engine_destroy(EVGL_Engine *ee);

extern void        *evgl_surface_create(EVGL_Engine *ee, Evas_GL_Config *cfg, int w, int h);
extern int          evgl_surface_destroy(EVGL_Engine *ee, EVGL_Surface *sfc);
extern void        *evgl_context_create(EVGL_Engine *ee, EVGL_Context *share_ctx);
extern int          evgl_context_destroy(EVGL_Engine *ee, EVGL_Context *ctx);
extern int          evgl_make_current(EVGL_Engine *ee, EVGL_Surface *sfc, EVGL_Context *ctx);
extern const char  *evgl_string_query(EVGL_Engine *ee, int name);
extern void        *evgl_proc_address_get(const char *name);
extern int          evgl_native_surface_get(EVGL_Engine *ee, EVGL_Surface *sfc, Evas_Native_Surface *ns);
extern Evas_GL_API *evgl_api_get(EVGL_Engine *ee);

extern int          evgl_direct_rendered(EVGL_Engine *ee);
extern void         evgl_direct_img_obj_set(EVGL_Engine *ee, Evas_Object *img);
extern Evas_Object *evgl_direct_img_obj_get(EVGL_Engine *ee);


#endif //_EVAS_GL_CORE_H