static void _elm_scroller_proxy_set(Evas_Object *obj, Elm_Scroller_Data *sd, Evas_Object *proxy) { Evas_Coord h_pagesize, v_pagesize; Evas_Coord cw = 0, ch = 0; Evas_Object *content = sd->content; if (!content) return; elm_interface_scrollable_paging_get(obj, NULL, NULL, &h_pagesize, &v_pagesize); elm_interface_scrollable_content_size_get(obj, &cw, &ch); /* Since Proxy has the texture size limitation problem, we set a key value for evas works in some hackish way to avoid this problem. This hackish code should be removed once evas supports a mechanism like a virtual texture. */ evas_object_image_fill_set(proxy, 0, 0, cw, ch); evas_object_size_hint_min_set(proxy, h_pagesize, v_pagesize); evas_object_image_source_clip_set(proxy, EINA_FALSE); evas_object_image_source_set(proxy, content); evas_object_show(proxy); }
/* setup */ static void _setup(void) { int i; Evas_Object *o,*src; o = evas_object_image_add(evas); evas_object_image_file_set(o, build_path("logo.png"), NULL); evas_object_image_fill_set(o, 0, 0, 120, 160); evas_object_resize(o, 120, 160); evas_object_move(o, -400, -300); src = o; for (i = 0; i < OBNUM / 2; i++) { o = evas_object_image_add(evas); o_images[i] = o; evas_object_image_source_set(o, src); evas_object_resize(o, 120, 160); evas_object_image_fill_set(o, 0,0,120,160); evas_object_show(o); } done = 0; }
/* setup */ static void _setup(void) { int i,w,h; Evas_Object *o,*s; Evas_Text_Style_Type st; st = EVAS_TEXT_STYLE_SHADOW; for (i = 0; st <= EVAS_TEXT_STYLE_FAR_SOFT_SHADOW; i++) { o = evas_object_text_add(evas); o_texts[i] = o; evas_object_text_font_set(o, "Vera-Bold", 20); evas_object_text_text_set(o, "This is a test string"); evas_object_text_style_set(o, st); evas_object_color_set(o, 255, 255, 255, 255); evas_object_text_shadow_color_set(o, 0, 0, 0, 24); evas_object_text_glow_color_set(o, 100, 80, 40, 100); evas_object_text_glow2_color_set(o, 50, 10, 5, 50); evas_object_text_outline_color_set(o, 0, 0, 0, 255); evas_object_show(o); st++; } for ( ; i < OBNUM ; i ++) { s = o_texts[i % st]; o = evas_object_image_add(evas); o_texts[i] = o; evas_object_image_source_set(o, s); evas_object_geometry_get(s, NULL, NULL, &w, &h); evas_object_resize(o, w, h); evas_object_image_fill_set(o, 0, 0, w, h); evas_object_show(o); } done = 0; }
static int set1(Evas *e){ Evas_Object *img, *proxy, *lbl; int w,h; /* create an image,, but don't show */ label_add(e,10,0,"Hidden Source",false); img = evas_object_image_add(e); evas_object_image_file_set(img, images[0], NULL); /* don't do anything that may cause it to load */ w = 96; h = 98; evas_object_resize(img, w, h); evas_object_image_fill_set(img, 0, 0, w, h); evas_object_move(img, 10,10); label_add(e,w + 90,0,"Proxy",false); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_image_fill_set(proxy, 0, 0, w, h); evas_object_move(proxy, w + 90, 10); evas_object_show(proxy); /* * Test a hidden label */ label_add(e, 10, 120, "Hidden Text", false); lbl = label_add(e, 10, 120, "Can't See ME!", false); evas_object_hide(lbl); label_add(e, 200, 120, "Proxy Text", false); w = 200; h = 200; proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, lbl); evas_object_resize(proxy, w, h); evas_object_image_fill_set(proxy, 0, 0, w, h); evas_object_move(proxy, 200, 120); evas_object_show(proxy); /* * Invisible text block */ img = textblock_add(e, 600, 200); evas_object_hide(img); evas_object_geometry_get(img, NULL, NULL, &w, &h); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 10, 320); evas_object_show(proxy); flip_map(proxy); /* * Test an offscreen 'widget' */ img = sp_add(e); evas_object_move(img, -300,200); evas_object_resize(img, 100, 20); ecore_timer_add(0.05, smart_animate, img); w = 100; h = 20; proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 300, 300); evas_object_show(proxy); flip_map(proxy); return 0; }
int set0(Evas *e){ Evas_Object *img, *proxy; bool rv; int w,h; struct imageupdate *iu; //int minw,minh,maxw,maxh; label_add(e,10,0,"The Source",false); img = evas_object_image_filled_add(e); evas_object_image_file_set(img, images[0], NULL); evas_object_image_size_get(img, &w, &h); w = w/2; h = h/2; evas_object_resize(img, w, h); evas_object_move(img, 10,10); evas_object_show(img); iu = calloc(1,sizeof(struct imageupdate)); iu->cur = 0; iu->max = N_IMAGES; iu->obj = img; iu->imagelist = images; ecore_timer_add(1.4, image_next, iu); label_add(e,20+w,0,"Normal Proxy",false); proxy = evas_object_image_filled_add(e); if (!proxy){ printf("Unable to create proxy object\n"); return 1; } rv = evas_object_image_source_set(proxy, img); if (rv != true){ printf("Error setting proxy source\n"); return 1; } evas_object_resize(proxy, w, h); evas_object_move(proxy, 20 + w, 10); /* If this is uncommented: Moves proxy evyer second (swap x/y) */ //iu->proxy = proxy; evas_object_show(proxy); label_add(e,10,h + 20, "Reflected Proxy",false); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 10, 30+h); evas_object_show(proxy); flip_map(proxy); label_add(e,20+w,h+20,"Squish Proxy",false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h / 2); evas_object_image_fill_set(proxy, 0,0, w, h/2); evas_object_move(proxy, 20+w, 30+h); evas_object_show(proxy); /* Proxy a label */ img = label_add(e, 300, 10, "Label Source ",true); evas_object_geometry_get(img, NULL, NULL, &w, &h); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 300, 10 + h + 3); evas_object_show(proxy); flip_map(proxy); label_add(e, 440, 10, "Squish Label",false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h / 2); evas_object_image_fill_set(proxy, 0,0,w,h/2); evas_object_move(proxy, 440, 10 + h + 3); evas_object_show(proxy); label_add(e, 440, 60, "Stretch Label",false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_image_fill_set(proxy, 0,0,w, h); evas_object_move(proxy, 440, 60 + h + 3); evas_object_show(proxy); label_add(e, 240, 60, "Highlight", false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, 50,50); evas_object_image_fill_set(proxy, -w/2,-h/2,w*3,h*3); evas_object_move(proxy, 250, 60 + h + 3); evas_object_show(proxy); img = label_add(e, 400, 120, "Zoomy Text!", false); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 350, 150); zoom_map(proxy); evas_object_show(proxy); /* Proxy a text block */ img = textblock_add(e, 10, 200); evas_object_geometry_get(img, NULL, NULL, &w, &h); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 10, 320); evas_object_show(proxy); flip_map(proxy); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w/2, h/2); evas_object_move(proxy, 10 + w, 320); evas_object_show(proxy); /* The 'smart' object */ img = sp_add(e); evas_object_move(img, 300,200); evas_object_resize(img, 100, 20); ecore_timer_add(0.05, smart_animate, img); w = 100; h = 20; proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 300, 240); evas_object_show(proxy); flip_map(proxy); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w * 2, h / 3); evas_object_image_fill_set(proxy, 0, 0, w * 2, h /3 ); evas_object_move(proxy, 420, 240); evas_object_show(proxy); img = evas_object_image_filled_add(e); proxy = evas_object_image_filled_add(e); evas_object_move(img, 500, 300); evas_object_move(proxy, 600, 300); evas_object_resize(img, 100, 100); evas_object_resize(proxy, 100, 100); evas_object_show(img); evas_object_show(proxy); evas_object_image_source_set(img, proxy); evas_object_image_source_set(proxy, img); #if 0 label_add(e, 300,90, "Edje File", false); img = edje_object_add(e); if (!_edje_load_or_show_error(img, "basic.edj", "proxytest")){ evas_object_del(img); } evas_object_resize(img,220,200); evas_object_move(img,300,100); evas_object_show(img); edje_object_size_max_get(img, &maxw, &maxh); edje_object_size_min_get(img, &minw, &minh); if ((minw <= 0) && (minh <= 0)) edje_object_size_min_calc(img, &minw, &minh); evas_object_size_hint_max_set(img, maxw, maxh); evas_object_size_hint_min_set(img, minw, minh); evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL); #endif /* The edje file */ return 0; }