-#include <Elementary.h>
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
+#include <Elementary.h>
#ifndef ELM_LIB_QUICKLAUNCH
typedef struct _GLData GLData;
gl->glCompileShader(shader);
gl->glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
- if (!compiled)
+ if (!compiled)
{
GLint info_len = 0;
gl->glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &info_len);
char* info_log = malloc(sizeof(char) * info_len);
gl->glGetShaderInfoLog(shader, info_len, NULL, info_log);
- printf("Error compiling shader:\n%s\n", info_log );
+ printf("Error compiling shader:\n%s\n======\n%s\n======\n", info_log, shader_src );
free(info_log);
}
gl->glDeleteShader(shader);
}
// Initialize the shader and program object
-static int
+static int
init_shaders(GLData *gld)
{
Evas_GL_API *gl = gld->glapi;
- GLbyte vShaderStr[] =
+ GLbyte vShaderStr[] =
"attribute vec4 vPosition; \n"
"void main() \n"
"{ \n"
" gl_Position = vPosition; \n"
"} \n";
- GLbyte fShaderStr[] =
- "precision mediump float;\n"\
+ GLbyte fShaderStr[] =
+ "#ifdef GL_ES \n"
+ "precision mediump float; \n"
+ "#endif \n"
"void main() \n"
"{ \n"
" gl_FragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 );\n"
gl->glLinkProgram(gld->program);
gl->glGetProgramiv(gld->program, GL_LINK_STATUS, &linked);
- if (!linked)
+ if (!linked)
{
GLint info_len = 0;
gl->glGetProgramiv(gld->program, GL_INFO_LOG_LENGTH, &info_len);
char* info_log = malloc(sizeof(char) * info_len);
gl->glGetProgramInfoLog(gld->program, info_len, NULL, info_log);
- printf("Error linking program:\n%s\n", info_log);
+ printf("Error linking program:\n%s\n", info_log);
free(info_log);
}
gl->glDeleteProgram(gld->program);
{
GLData *gld = evas_object_data_get(obj, "gld");
Evas_GL_API *gl = gld->glapi;
- GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f,
+ GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f,
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f };
gl->glDeleteShader(gld->vtx_shader);
gl->glDeleteShader(gld->fgmt_shader);
gl->glDeleteProgram(gld->program);
- gl->glDeleteBuffers(1, &gld->vbo);
+ gl->glDeleteBuffers(1, &gld->vbo);
evas_object_data_del((Evas_Object*)obj, "..gld");
free(gld);
void
test_glview_simple(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
- Evas_Object *win, *bg, *bx, *bt, *gl;
+ Evas_Object *win, *bx, *bt, *gl;
Ecore_Animator *ani;
GLData *gld = NULL;
if (!(gld = calloc(1, sizeof(GLData)))) return;
// Set the engine to opengl_x11
- elm_engine_set("opengl_x11");
-
- win = elm_win_add(NULL, "glview simple", ELM_WIN_BASIC);
- elm_win_title_set(win, "GLView Simple");
- elm_win_autodel_set(win, 1);
+ elm_config_preferred_engine_set("opengl_x11");
+ win = elm_win_util_standard_add("glview simple", "GLView Simple");
+ // Set preferred engine back to default from config
+ elm_config_preferred_engine_set(NULL);
- bg = elm_bg_add(win);
- elm_win_resize_object_add(win, bg);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(bg);
+ elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_pack_end(bx, gl);
evas_object_show(gl);
- elm_object_focus(gl);
+ elm_object_focus_set(gl, EINA_TRUE);
ani = ecore_animator_add(_anim, gl);
gld->glapi = elm_glview_gl_api_get(gl);