void _eyelight_viewer_slideshow_slides_load(Eyelight_Viewer* pres) { int i; Evas_Object *o_image; char buf[EYELIGHT_BUFLEN]; int nb_slides = pres->slideshow_nb_slides; int first_slide = pres->slideshow_current - (nb_slides/2); if(!pres->slideshow_image_thumbnails) pres->slideshow_image_thumbnails = calloc(nb_slides,sizeof(Evas_Object*)); for(i=0;i<nb_slides; i++) { if(first_slide+i<0 || i+first_slide>=pres->size) { snprintf(buf,EYELIGHT_BUFLEN,"slideshow,slide,hide,%d",i+1); edje_object_signal_emit(pres->slideshow_background, buf,"eyelight"); } else { snprintf(buf,EYELIGHT_BUFLEN,"slideshow,slide,show,%d",i+1); edje_object_signal_emit(pres->slideshow_background, buf,"eyelight"); if(!pres->slideshow_image_thumbnails[i]) { const Eyelight_Thumb* thumb = eyelight_viewer_thumbnails_get(pres,first_slide+i); o_image = evas_object_image_add(pres->evas); pres->slideshow_image_thumbnails[i] = o_image; if (thumb->thumb) { evas_object_image_size_set(o_image, thumb->w, thumb->h); evas_object_image_data_set(o_image,thumb->thumb); evas_object_image_filled_set(o_image,1); } else { char key[256]; int w; int h; snprintf(key, sizeof (key), "eyelight/thumb/%i", thumb->pos); evas_object_image_file_set(o_image, pres->dump_in, key); evas_object_image_size_get(o_image, &w, &h); evas_object_image_fill_set(o_image, 0, 0, w, h); } evas_object_show(o_image); snprintf(buf,EYELIGHT_BUFLEN,"object.swallow_%d",i+1); edje_object_part_swallow(pres->slideshow_background,buf,o_image); } } } eyelight_viewer_thumbnails_clean(pres,first_slide,first_slide+nb_slides); }
unsigned int read_texture(Evas_Object *parent, const char *filename) { unsigned int gltex_object; int w, h; int surface_w, surface_h; evas_object_geometry_get(parent, NULL, NULL, &surface_w, &surface_h); Evas_Object* inline_buffer = elm_win_add(parent,"Img Read",ELM_WIN_INLINED_IMAGE); evas_object_move(inline_buffer, 0, 0); evas_object_resize(inline_buffer, surface_w, surface_h); evas_object_show(inline_buffer); Evas* canvas = evas_object_evas_get(inline_buffer); Evas_Object* image = evas_object_image_add(canvas); char path[200]; sprintf(path, "%s%s", app_get_resource_path(), filename); evas_object_image_file_set(image, path, NULL); evas_object_image_size_get(image, &w, &h); evas_object_image_fill_set(image, 0, 0, w, h); evas_object_image_filled_set(image, EINA_TRUE); evas_object_resize(image, w, h); evas_object_show(image); elm_win_render(inline_buffer); GLubyte* pixels; pixels = (GLubyte*) evas_object_image_data_get(image, EINA_FALSE); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); glGenTextures(1, &gltex_object); glBindTexture(GL_TEXTURE_2D, gltex_object); glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA_EXT, w, h, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, pixels); glGenerateMipmap(GL_TEXTURE_2D); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glBindTexture(GL_TEXTURE_2D, 0); evas_object_del(inline_buffer); return gltex_object; }
static Evas_Object * _box_get(Evas_Object *obj, Overlay_Data *data) { Evas_Object *bx, *img, *label; bx = elm_box_add(obj); evas_object_show(bx); img = evas_object_image_add(evas_object_evas_get(obj)); evas_object_image_file_set(img, data->file, NULL); evas_object_image_filled_set(img, EINA_TRUE); evas_object_size_hint_min_set(img, 64, 64); evas_object_show(img); elm_box_pack_end(bx, img); label = elm_label_add(obj); elm_object_text_set(label, data->name); evas_object_show(label); elm_box_pack_end(bx, label); return bx; }
void FileLoader::ReadTexture(const char *filename, TexData &out) const { Evas_Object * parent = SampleLauncher::GetInstance()->GetParent(); int w, h; int surface_w, surface_h; evas_object_geometry_get(parent, NULL, NULL, &surface_w, &surface_h); Evas_Object * inline_buffer = elm_win_add(parent, "Img Read", ELM_WIN_INLINED_IMAGE); evas_object_move(inline_buffer, 0, 0); evas_object_resize(inline_buffer, surface_w, surface_h); evas_object_show(inline_buffer); Evas *canvas = evas_object_evas_get(inline_buffer); Evas_Object * image = evas_object_image_add(canvas); char path[200]; sprintf(path, "%s%s", app_get_resource_path(), filename); evas_object_image_file_set(image, path, NULL); evas_object_image_size_get(image, &w, &h); evas_object_image_fill_set(image, 0, 0, w, h); evas_object_image_filled_set(image, EINA_TRUE); evas_object_resize(image, w, h); evas_object_show(image); elm_win_render(inline_buffer); GLubyte *pixels; pixels = static_cast<GLubyte *>(evas_object_image_data_get(image, EINA_FALSE)); out.SetData(w * h, pixels, w, h, GL_BGRA_EXT); evas_object_del(inline_buffer); }
void utils_slide_delete(List_Item *item) { int i = 0; Eina_List *l; List_Item *_item; EINA_LIST_FOREACH(l_slides, l, _item) { if(item == _item) break; else i++; } Evas_Object *lbl, *tb, *bt, *icon; char buf[PATH_MAX]; snprintf(buf, sizeof(buf), "%s/theme.edj", PACKAGE_DATA_DIR); _inwin_delete_slide = elm_win_inwin_add(win); evas_object_show(_inwin_delete_slide); elm_object_style_set(_inwin_delete_slide, "minimal"); tb = elm_table_add(win); elm_win_inwin_content_set(_inwin_delete_slide, tb); //icon icon = edje_object_add(evas_object_evas_get(win)); edje_object_file_set(icon, buf, "list/slides/icon"); evas_object_size_hint_min_set(icon,1024*0.20,768*0.20); evas_object_size_hint_max_set(icon,1024*0.20,768*0.20); if(item->thumb) { int w = item->thumb->w; int h = item->thumb->h; int *image = calloc(w*h, sizeof(int)); memcpy(image, item->thumb->thumb, sizeof(int)*w*h); const Evas_Object *o_image = edje_object_part_object_get(icon, "object.icon"); evas_object_image_filled_set((Evas_Object*)o_image,1); evas_object_color_set((Evas_Object*)o_image,255,255,255,255); evas_object_image_size_set((Evas_Object*)o_image, w, h); evas_object_image_data_set((Evas_Object*)o_image, image); edje_object_signal_emit(icon, "icon,show", "eyelight"); } evas_object_show(icon); elm_table_pack(tb, icon, 0, 0, 2, 1); // bt= elm_button_add(win); elm_object_text_set(bt, "Invisible button to add a vertical space"); elm_table_pack(tb, bt, 0, 1, 1, 1); lbl = elm_label_add(win); elm_object_text_set(lbl, D_("Are you sure you want to delete this slide ?")); elm_table_pack(tb, lbl, 0, 2, 2, 1); evas_object_show(lbl); bt= elm_button_add(win); elm_object_text_set(bt, "Invisible button to add a vertical space"); elm_table_pack(tb, bt, 0, 3, 1, 1); bt= elm_button_add(win); elm_object_text_set(bt, D_("Yes, Delete the slide")); evas_object_smart_callback_add(bt, "clicked", _utils_slide_delete_cb, item); evas_object_color_set(bt, 255, 0, 0, 255); elm_table_pack(tb, bt, 0, 4, 1, 1); evas_object_show(bt); bt= elm_button_add(win); elm_object_text_set(bt, D_("No, do not delete the slide")); evas_object_smart_callback_add(bt, "clicked", _utils_slide_delete_cancel_cb, item); elm_table_pack(tb, bt, 1, 4, 1, 1); evas_object_show(bt); }