From 735d433c20e25e5028fd32be07aafc837ce59d36 Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Fri, 6 Dec 2013 10:19:37 +0900 Subject: [PATCH] test_glview_simple: internal refactoring and clean up of glview simple test. - Removed unused variable. - Followed the structure naming convention. - Fixed formatting. - Removed unnecessary empty lines and spaces. - Removed unnecessary casting. - Removed typos. - Use ECORE_CALLBACK_RENEW macro for animator callback. - Just call elm_exit() to exit the main loop. - Removed unnecessary evas_object_data usage. - Made a button text more descriptive and correct. --- legacy/elementary/src/bin/test_glview_simple.c | 74 ++++++++++++-------------- 1 file changed, 33 insertions(+), 41 deletions(-) diff --git a/legacy/elementary/src/bin/test_glview_simple.c b/legacy/elementary/src/bin/test_glview_simple.c index 6047b9b..6a1996a 100644 --- a/legacy/elementary/src/bin/test_glview_simple.c +++ b/legacy/elementary/src/bin/test_glview_simple.c @@ -3,26 +3,28 @@ #endif #include - -typedef struct _GLData GLData; +typedef struct _GL_Data GL_Data; // GL related data here.. -struct _GLData +struct _GL_Data { Evas_GL_API *glapi; GLuint program; GLuint vtx_shader; GLuint fgmt_shader; GLuint vbo; - int initialized : 1; }; - static float red = 1.0; -//--------------------------------// +static void +_win_free_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + free(data); +} + static GLuint -load_shader( GLData *gld, GLenum type, const char *shader_src ) +load_shader(GL_Data *gld, GLenum type, const char *shader_src) { Evas_GL_API *gl = gld->glapi; GLuint shader; @@ -59,7 +61,7 @@ load_shader( GLData *gld, GLenum type, const char *shader_src ) // Initialize the shader and program object static int -init_shaders(GLData *gld) +init_shaders(GL_Data *gld) { Evas_GL_API *gl = gld->glapi; GLbyte vShaderStr[] = @@ -114,13 +116,11 @@ init_shaders(GLData *gld) return 1; } - - // Callbacks static void _init_gl(Evas_Object *obj) { - GLData *gld = evas_object_data_get(obj, "gld"); + GL_Data *gld = evas_object_data_get(obj, "gld"); Evas_GL_API *gl = gld->glapi; GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f, -0.5f, -0.5f, 0.0f, @@ -140,10 +140,10 @@ _init_gl(Evas_Object *obj) static void _del_gl(Evas_Object *obj) { - GLData *gld = evas_object_data_get(obj, "gld"); + GL_Data *gld = evas_object_data_get(obj, "gld"); if (!gld) { - printf("Unable to get GLData. \n"); + printf("Unable to get GL_Data. \n"); return; } Evas_GL_API *gl = gld->glapi; @@ -153,16 +153,14 @@ _del_gl(Evas_Object *obj) gl->glDeleteProgram(gld->program); gl->glDeleteBuffers(1, &gld->vbo); - evas_object_data_del((Evas_Object*)obj, "..gld"); - free(gld); + evas_object_data_del(obj, "gld"); } - static void _resize_gl(Evas_Object *obj) { int w, h; - GLData *gld = evas_object_data_get(obj, "gld"); + GL_Data *gld = evas_object_data_get(obj, "gld"); Evas_GL_API *gl = gld->glapi; elm_glview_size_get(obj, &w, &h); @@ -172,20 +170,18 @@ _resize_gl(Evas_Object *obj) gl->glViewport(0, 0, w, h); } - - static void _draw_gl(Evas_Object *obj) { Evas_GL_API *gl = elm_glview_gl_api_get(obj); - GLData *gld = evas_object_data_get(obj, "gld"); + GL_Data *gld = evas_object_data_get(obj, "gld"); if (!gld) return; int w, h; elm_glview_size_get(obj, &w, &h); gl->glViewport(0, 0, w, h); - gl->glClearColor(red,0.8,0.3,1); + gl->glClearColor(red, 0.8, 0.3, 1); gl->glClear(GL_COLOR_BUFFER_BIT); // Draw a Triangle @@ -211,36 +207,36 @@ static Eina_Bool _anim(void *data) { elm_glview_changed_set(data); - return EINA_TRUE; + return ECORE_CALLBACK_RENEW; } static void -_on_done(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +_close_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) { - evas_object_del((Evas_Object*)data); + elm_exit(); } - static void -_del(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +_gl_del_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Ecore_Animator *ani = evas_object_data_get(obj, "ani"); - ecore_animator_del(ani); + ecore_animator_del(data); } - void test_glview_simple(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win, *bx, *bt, *gl; Ecore_Animator *ani; - GLData *gld = NULL; - - if (!(gld = calloc(1, sizeof(GLData)))) return; + GL_Data *gld = NULL; - win = elm_win_util_standard_add("glview simple", "GLView Simple"); + if (!(gld = calloc(1, sizeof(GL_Data)))) return; + win = elm_win_util_standard_add("glview-simple", "GLView Simple"); elm_win_autodel_set(win, EINA_TRUE); + evas_object_resize(win, 320, 480); + evas_object_show(win); + evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _win_free_cb, gld); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -264,18 +260,14 @@ test_glview_simple(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e ani = ecore_animator_add(_anim, gl); gld->glapi = elm_glview_gl_api_get(gl); - evas_object_data_set(gl, "ani", ani); evas_object_data_set(gl, "gld", gld); - evas_object_event_callback_add(gl, EVAS_CALLBACK_DEL, _del, gl); + evas_object_event_callback_add(gl, EVAS_CALLBACK_DEL, _gl_del_cb, ani); bt = elm_button_add(win); - elm_object_text_set(bt, "OK"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_text_set(bt, "Close"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, bt); evas_object_show(bt); - evas_object_smart_callback_add(bt, "clicked", _on_done, win); - - evas_object_resize(win, 320, 480); - evas_object_show(win); + evas_object_smart_callback_add(bt, "clicked", _close_cb, NULL); } -- 2.7.4