summaryrefslogtreecommitdiff
path: root/src/examples/evas/evas-3d-colorpick.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/examples/evas/evas-3d-colorpick.c')
-rw-r--r--src/examples/evas/evas-3d-colorpick.c156
1 files changed, 64 insertions, 92 deletions
diff --git a/src/examples/evas/evas-3d-colorpick.c b/src/examples/evas/evas-3d-colorpick.c
index f3cf3b4..885a53b 100644
--- a/src/examples/evas/evas-3d-colorpick.c
+++ b/src/examples/evas/evas-3d-colorpick.c
@@ -119,8 +119,8 @@ _on_canvas_resize(Ecore_Evas *ee)
119 int w, h; 119 int w, h;
120 120
121 ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); 121 ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
122 eo_do(bg, efl_gfx_size_set(w, h)); 122 efl_gfx_size_set(bg, w, h);
123 eo_do(image, efl_gfx_size_set(w, h)); 123 efl_gfx_size_set(image, w, h);
124} 124}
125 125
126static Eina_Bool 126static Eina_Bool
@@ -129,7 +129,7 @@ _animate_sphere(void *data)
129 static int angle = 0.0; 129 static int angle = 0.0;
130 Eo *n = (Eo*)(((Test_object *)data)->node); 130 Eo *n = (Eo*)(((Test_object *)data)->node);
131 Evas_Real s = ((Test_object *)data)->speed; 131 Evas_Real s = ((Test_object *)data)->speed;
132 eo_do(n, evas_canvas3d_node_orientation_angle_axis_set(angle, s, s - 1, s + 1)); 132 evas_canvas3d_node_orientation_angle_axis_set(n, angle, s, s - 1, s + 1);
133 angle++; 133 angle++;
134 if (angle > 360) angle = 0.0; 134 if (angle > 360) angle = 0.0;
135 return EINA_TRUE; 135 return EINA_TRUE;
@@ -141,9 +141,8 @@ void _recalculate_position()
141 Evas_Real x1, y1, shiftx = 0, shifty = 0; 141 Evas_Real x1, y1, shiftx = 0, shifty = 0;
142 Test_object *m; 142 Test_object *m;
143 143
144 eo_do(((Test_object *)eina_list_nth(globalscene.spheres, 0))->node, 144 evas_canvas3d_object_update(((Test_object *)eina_list_nth(globalscene.spheres, 0))->node);
145 evas_canvas3d_object_update(), 145 evas_canvas3d_node_bounding_box_get(((Test_object *)eina_list_nth(globalscene.spheres, 0))->node, NULL, NULL, NULL, &x1, &y1, NULL);
146 evas_canvas3d_node_bounding_box_get(NULL, NULL, NULL, &x1, &y1, NULL));
147 146
148 for (i = 0; i < globalscene.row; ++i) 147 for (i = 0; i < globalscene.row; ++i)
149 { 148 {
@@ -152,7 +151,7 @@ void _recalculate_position()
152 { 151 {
153 shifty = (j * 2 - globalscene.col) * y1; 152 shifty = (j * 2 - globalscene.col) * y1;
154 m = (Test_object *)eina_list_nth(globalscene.spheres, count); 153 m = (Test_object *)eina_list_nth(globalscene.spheres, count);
155 eo_do(m->node, evas_canvas3d_node_position_set(shifty, 0.0, shiftx)); 154 evas_canvas3d_node_position_set(m->node, shifty, 0.0, shiftx);
156 count++; 155 count++;
157 } 156 }
158 } 157 }
@@ -167,31 +166,29 @@ _on_key_down(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
167 Test_object * item; 166 Test_object * item;
168 if (!strcmp(ev->key, "Down")) 167 if (!strcmp(ev->key, "Down"))
169 { 168 {
170 eo_do(globalscene.camera_node, evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z), 169 evas_canvas3d_node_position_get(globalscene.camera_node, EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z);
171 evas_canvas3d_node_position_set(x, y, (z - 5))); 170 evas_canvas3d_node_position_set(globalscene.camera_node, x, y, (z - 5));
172 } 171 }
173 else if (!strcmp(ev->key, "Up")) 172 else if (!strcmp(ev->key, "Up"))
174 { 173 {
175 eo_do(globalscene.camera_node, evas_canvas3d_node_position_get(EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z), 174 evas_canvas3d_node_position_get(globalscene.camera_node, EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z);
176 evas_canvas3d_node_position_set(x, y, (z + 5))); 175 evas_canvas3d_node_position_set(globalscene.camera_node, x, y, (z + 5));
177 } 176 }
178 else if (!strcmp(ev->key, "Left")) 177 else if (!strcmp(ev->key, "Left"))
179 { 178 {
180 eo_do(((Test_object *)eina_list_nth(globalscene.spheres, 0))->node, 179 evas_canvas3d_node_scale_get(((Test_object *)eina_list_nth(globalscene.spheres, 0))->node, EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z);
181 evas_canvas3d_node_scale_get(EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z));
182 EINA_LIST_FOREACH(globalscene.spheres, l, item) 180 EINA_LIST_FOREACH(globalscene.spheres, l, item)
183 { 181 {
184 eo_do(item->node, evas_canvas3d_node_scale_set((x - SCALE_UNIT), (y - SCALE_UNIT), (z - SCALE_UNIT))); 182 evas_canvas3d_node_scale_set(item->node, (x - SCALE_UNIT), (y - SCALE_UNIT), (z - SCALE_UNIT));
185 } 183 }
186 _recalculate_position(); 184 _recalculate_position();
187 } 185 }
188 else if (!strcmp(ev->key, "Right")) 186 else if (!strcmp(ev->key, "Right"))
189 { 187 {
190 eo_do(((Test_object *)eina_list_nth(globalscene.spheres, 0))->node, 188 evas_canvas3d_node_scale_get(((Test_object *)eina_list_nth(globalscene.spheres, 0))->node, EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z);
191 evas_canvas3d_node_scale_get(EVAS_CANVAS3D_SPACE_PARENT, &x, &y, &z));
192 EINA_LIST_FOREACH(globalscene.spheres, l, item) 189 EINA_LIST_FOREACH(globalscene.spheres, l, item)
193 { 190 {
194 eo_do(item->node, evas_canvas3d_node_scale_set((x + SCALE_UNIT), (y + SCALE_UNIT), (z + SCALE_UNIT))); 191 evas_canvas3d_node_scale_set(item->node, (x + SCALE_UNIT), (y + SCALE_UNIT), (z + SCALE_UNIT));
195 } 192 }
196 _recalculate_position(); 193 _recalculate_position();
197 } 194 }
@@ -212,27 +209,26 @@ _on_mouse_down(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *eo EINA
212 Eina_Bool flag; 209 Eina_Bool flag;
213 if (ev->button == 1) 210 if (ev->button == 1)
214 { 211 {
215 eo_do(globalscene.scene, evas_canvas3d_scene_color_pick_enable_set(EINA_TRUE)); 212 evas_canvas3d_scene_color_pick_enable_set(globalscene.scene, EINA_TRUE);
216 eo_do(globalscene.scene, 213 flag = evas_canvas3d_scene_pick(globalscene.scene, ev->canvas.x, ev->canvas.y, &n, &m, NULL, NULL);
217 flag = evas_canvas3d_scene_pick(ev->canvas.x, ev->canvas.y, &n, &m, NULL, NULL));
218 time = clock() - time; 214 time = clock() - time;
219 diff_sec = ((float)time) / CLOCKS_PER_SEC / 10; 215 diff_sec = ((float)time) / CLOCKS_PER_SEC / 10;
220 if (flag) 216 if (flag)
221 { 217 {
222 fprintf(stdout, "Boom! Time expended for color pick: %2.7f .\n", diff_sec); 218 fprintf(stdout, "Boom! Time expended for color pick: %2.7f .\n", diff_sec);
223 eo_do(n, evas_canvas3d_node_scale_set(VEC_3(SMALL_SCALE))); 219 evas_canvas3d_node_scale_set(n, VEC_3(SMALL_SCALE));
224 } 220 }
225 } 221 }
226 else 222 else
227 { 223 {
228 eo_do(globalscene.scene, evas_canvas3d_scene_color_pick_enable_set(EINA_FALSE)); 224 evas_canvas3d_scene_color_pick_enable_set(globalscene.scene, EINA_FALSE);
229 eo_do(globalscene.scene, flag = evas_canvas3d_scene_pick(ev->canvas.x, ev->canvas.y, &n, &m, &s, &t)); 225 flag = evas_canvas3d_scene_pick(globalscene.scene, ev->canvas.x, ev->canvas.y, &n, &m, &s, &t);
230 time = clock() - time; 226 time = clock() - time;
231 diff_sec = ((float)time) / CLOCKS_PER_SEC / 10; 227 diff_sec = ((float)time) / CLOCKS_PER_SEC / 10;
232 if (flag) 228 if (flag)
233 { 229 {
234 fprintf(stdout, "Boom! Time expended for geometry pick: %2.7f .\n", diff_sec); 230 fprintf(stdout, "Boom! Time expended for geometry pick: %2.7f .\n", diff_sec);
235 eo_do(n, evas_canvas3d_node_scale_set(VEC_3(BIG_SCALE))); 231 evas_canvas3d_node_scale_set(n, VEC_3(BIG_SCALE));
236 } 232 }
237 } 233 }
238} 234}
@@ -244,36 +240,27 @@ _init_sphere(void *this, const char *texture)
244 sphere->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 240 sphere->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
245 sphere->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 241 sphere->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas);
246 sphere->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 242 sphere->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
247 eo_do(sphere->primitive, 243 evas_canvas3d_primitive_form_set(sphere->primitive, EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE);
248 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 244 evas_canvas3d_primitive_precision_set(sphere->primitive, 50);
249 evas_canvas3d_primitive_precision_set(50)); 245 evas_canvas3d_mesh_from_primitive_set(sphere->mesh, 0, sphere->primitive);
250 eo_do(sphere->mesh, 246 evas_canvas3d_mesh_frame_material_set(sphere->mesh, 0, sphere->material);
251 evas_canvas3d_mesh_from_primitive_set(0, sphere->primitive), 247 evas_canvas3d_mesh_shade_mode_set(sphere->mesh, EVAS_CANVAS3D_SHADE_MODE_PHONG);
252 evas_canvas3d_mesh_frame_material_set(0, sphere->material),
253 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
254 248
255 eo_do(sphere->mesh, evas_canvas3d_mesh_color_pick_enable_set(EINA_TRUE)); 249 evas_canvas3d_mesh_color_pick_enable_set(sphere->mesh, EINA_TRUE);
256 250
257 sphere->texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 251 sphere->texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas);
258 eo_do(sphere->texture, 252 evas_canvas3d_texture_file_set(sphere->texture, texture, NULL);
259 evas_canvas3d_texture_file_set(texture, NULL), 253 evas_canvas3d_texture_filter_set(sphere->texture, EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST);
260 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, 254 evas_canvas3d_texture_wrap_set(sphere->texture, EVAS_CANVAS3D_WRAP_MODE_REPEAT, EVAS_CANVAS3D_WRAP_MODE_REPEAT);
261 EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST), 255 evas_canvas3d_material_texture_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, sphere->texture);
262 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT, 256 evas_canvas3d_material_enable_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE);
263 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 257 evas_canvas3d_material_enable_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE);
264 eo_do(sphere->material, 258 evas_canvas3d_material_enable_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE);
265 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, sphere->texture), 259 evas_canvas3d_material_enable_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, EINA_TRUE);
266 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 260 evas_canvas3d_material_color_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, 0.01, 0.01, 0.01, 1.0);
267 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE), 261 evas_canvas3d_material_color_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, 1.0, 1.0, 1.0, 1.0);
268 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE), 262 evas_canvas3d_material_color_set(sphere->material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0);
269 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, EINA_TRUE), 263 evas_canvas3d_material_shininess_set(sphere->material, 50.0);
270 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT,
271 0.01, 0.01, 0.01, 1.0),
272 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE,
273 1.0, 1.0, 1.0, 1.0),
274 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR,
275 1.0, 1.0, 1.0, 1.0),
276 evas_canvas3d_material_shininess_set(50.0));
277 return EINA_TRUE; 264 return EINA_TRUE;
278} 265}
279 266
@@ -287,41 +274,29 @@ _init_scene(const char *texture)
287 274
288 globalscene.scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 275 globalscene.scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
289 276
290 globalscene.root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 277 globalscene.root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
291 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
292 278
293 globalscene.camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 279 globalscene.camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
294 eo_do(globalscene.camera, 280 evas_canvas3d_camera_projection_perspective_set(globalscene.camera, 30.0, 1.0, 1.0, 1000.0);
295 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 1000.0));
296 281
297 globalscene.camera_node = 282 globalscene.camera_node =
298 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 283 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
299 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 284 evas_canvas3d_node_camera_set(globalscene.camera_node, globalscene.camera);
300 eo_do(globalscene.camera_node, 285 evas_canvas3d_node_member_add(globalscene.root_node, globalscene.camera_node);
301 evas_canvas3d_node_camera_set(globalscene.camera)); 286 evas_canvas3d_node_position_set(globalscene.camera_node, 0.0, 30.0, 800.0);
302 eo_do(globalscene.root_node, 287 evas_canvas3d_node_look_at_set(globalscene.camera_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, -1000.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
303 evas_canvas3d_node_member_add(globalscene.camera_node));
304 eo_do(globalscene.camera_node,
305 evas_canvas3d_node_position_set(0.0, 30.0, 800.0),
306 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, -1000.0,
307 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
308 globalscene.light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 288 globalscene.light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas);
309 eo_do(globalscene.light, 289 evas_canvas3d_light_ambient_set(globalscene.light, 1.0, 1.0, 1.0, 1.0);
310 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 290 evas_canvas3d_light_diffuse_set(globalscene.light, 1.0, 1.0, 1.0, 1.0);
311 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 291 evas_canvas3d_light_specular_set(globalscene.light, 1.0, 1.0, 1.0, 1.0);
312 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 292 evas_canvas3d_light_directional_set(globalscene.light, EINA_TRUE);
313 evas_canvas3d_light_directional_set(EINA_TRUE));
314 293
315 globalscene.light_node = 294 globalscene.light_node =
316 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 295 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
317 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 296 evas_canvas3d_node_light_set(globalscene.light_node, globalscene.light);
318 eo_do(globalscene.light_node, 297 evas_canvas3d_node_position_set(globalscene.light_node, 100.0, 50.0, 300.0);
319 evas_canvas3d_node_light_set(globalscene.light), 298 evas_canvas3d_node_look_at_set(globalscene.light_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 1.0, 1.0, 1.0);
320 evas_canvas3d_node_position_set(100.0, 50.0, 300.0), 299 evas_canvas3d_node_member_add(globalscene.root_node, globalscene.light_node);
321 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
322 EVAS_CANVAS3D_SPACE_PARENT, 1.0, 1.0, 1.0));
323 eo_do(globalscene.root_node,
324 evas_canvas3d_node_member_add(globalscene.light_node));
325 300
326 tmp = 0.01; 301 tmp = 0.01;
327 for (i = 0; i < globalscene.col * globalscene.row; i++) 302 for (i = 0; i < globalscene.col * globalscene.row; i++)
@@ -338,24 +313,22 @@ _init_scene(const char *texture)
338 m->material = spheretmp->material; 313 m->material = spheretmp->material;
339 m->texture = spheretmp->texture; 314 m->texture = spheretmp->texture;
340 } 315 }
341 m->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 316 m->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
342 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
343 m->speed = tmp; 317 m->speed = tmp;
344 m->sphere_animate = _animate_sphere; 318 m->sphere_animate = _animate_sphere;
345 m->animate = ecore_timer_add(m->speed, m->sphere_animate, m); 319 m->animate = ecore_timer_add(m->speed, m->sphere_animate, m);
346 eo_do(globalscene.root_node, evas_canvas3d_node_member_add(m->node)); 320 evas_canvas3d_node_member_add(globalscene.root_node, m->node);
347 eo_do(m->node, evas_canvas3d_node_mesh_add(m->mesh), 321 evas_canvas3d_node_mesh_add(m->node, m->mesh);
348 evas_canvas3d_node_scale_set(VEC_3(INIT_SCALE))); 322 evas_canvas3d_node_scale_set(m->node, VEC_3(INIT_SCALE));
349 globalscene.spheres = eina_list_append(globalscene.spheres, m); 323 globalscene.spheres = eina_list_append(globalscene.spheres, m);
350 tmp += 0.01; 324 tmp += 0.01;
351 } 325 }
352 326
353 _recalculate_position(); 327 _recalculate_position();
354 328
355 eo_do(globalscene.scene, 329 evas_canvas3d_scene_root_node_set(globalscene.scene, globalscene.root_node);
356 evas_canvas3d_scene_root_node_set(globalscene.root_node), 330 evas_canvas3d_scene_camera_node_set(globalscene.scene, globalscene.camera_node);
357 evas_canvas3d_scene_camera_node_set(globalscene.camera_node), 331 evas_canvas3d_scene_size_set(globalscene.scene, WIDTH, HEIGHT);
358 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
359 return EINA_TRUE; 332 return EINA_TRUE;
360} 333}
361 334
@@ -410,11 +383,10 @@ int main(int argc, char **argv)
410 383
411 image = evas_object_image_filled_add(evas); 384 image = evas_object_image_filled_add(evas);
412 385
413 eo_do(image, 386 efl_gfx_size_set(image, WIDTH, HEIGHT);
414 efl_gfx_size_set(WIDTH, HEIGHT), 387 efl_gfx_visible_set(image, EINA_TRUE);
415 efl_gfx_visible_set(EINA_TRUE));
416 evas_object_focus_set(image, EINA_TRUE); 388 evas_object_focus_set(image, EINA_TRUE);
417 eo_do(image, evas_obj_image_scene_set(globalscene.scene)); 389 evas_obj_image_scene_set(image, globalscene.scene);
418 390
419 r = evas_object_key_grab(image, "Down", 0, 0, EINA_TRUE); 391 r = evas_object_key_grab(image, "Down", 0, 0, EINA_TRUE);
420 r = evas_object_key_grab(image, "Up", 0, 0, EINA_TRUE); 392 r = evas_object_key_grab(image, "Up", 0, 0, EINA_TRUE);