demo++
authorCarsten Haitzler <raster@rasterman.com>
Mon, 1 Feb 2010 16:46:26 +0000 (16:46 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Mon, 1 Feb 2010 16:46:26 +0000 (16:46 +0000)
SVN revision: 45778

data/images/Makefile.am
data/images/bubble.png [new file with mode: 0644]
data/images/bubble_sh.png [new file with mode: 0644]
src/bin/Makefile.am
src/bin/test.c
src/bin/test_anim.c [new file with mode: 0644]
src/bin/test_genlist.c

index afc162a..5e361be 100644 (file)
@@ -38,6 +38,8 @@ icon_19.png \
 icon_20.png \
 icon_21.png \
 icon_22.png \
-icon_23.png
+icon_23.png \
+bubble.png \
+bubble_sh.png
 
 EXTRA_DIST = $(files_DATA)
diff --git a/data/images/bubble.png b/data/images/bubble.png
new file mode 100644 (file)
index 0000000..dfb71b7
Binary files /dev/null and b/data/images/bubble.png differ
diff --git a/data/images/bubble_sh.png b/data/images/bubble_sh.png
new file mode 100644 (file)
index 0000000..b66c1e6
Binary files /dev/null and b/data/images/bubble_sh.png differ
index 33406aa..d51c132 100644 (file)
@@ -73,7 +73,8 @@ test_label.c \
 test_conform.c \
 test_multi.c \
 test_floating.c \
-test_launcher.c
+test_launcher.c \
+test_anim.c
 
 elementary_test_LDADD = $(top_builddir)/src/lib/libelementary.la @ELEMENTARY_EWEATHER_LIBS@
 elementary_test_LDFLAGS =
index a655b0e..787da67 100644 (file)
@@ -62,6 +62,7 @@ void test_conformant(void *data, Evas_Object *obj, void *event_info);
 void test_multi(void *data, Evas_Object *obj, void *event_info);
 void test_floating(void *data, Evas_Object *obj, void *event_info);
 void test_launcher(void *data, Evas_Object *obj, void *event_info);
+void test_anim(void *data, Evas_Object *obj, void *event_info);
 
 static void
 my_win_del(void *data, Evas_Object *obj, void *event_info)
@@ -206,11 +207,12 @@ my_win_main(void)
    elm_list_item_append(li, "Multi Touch", NULL, NULL, test_multi, NULL);
    elm_list_item_append(li, "Floating Objects", NULL, NULL, test_floating, NULL);
    elm_list_item_append(li, "Launcher", NULL, NULL, test_launcher, NULL);
+   elm_list_item_append(li, "Animation", NULL, NULL, test_anim, NULL);
 
    elm_list_go(li);
 
    /* set an initial window size */
-   evas_object_resize(win, 240, 480);
+   evas_object_resize(win, 320, 480);
    /* show the window */
    evas_object_show(win);
 }
diff --git a/src/bin/test_anim.c b/src/bin/test_anim.c
new file mode 100644 (file)
index 0000000..3424a98
--- /dev/null
@@ -0,0 +1,110 @@
+#include <Elementary.h>
+#ifndef ELM_LIB_QUICKLAUNCH
+
+static const char *names[] =
+{
+     "bub1", "sh1",
+     "bub2", "sh2",
+     "bub3", "sh3",
+};
+
+static void
+_del(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+   Evas_Object *win = data;
+   Ecore_Animator *ani = evas_object_data_get(win, "animator");
+   
+   ecore_animator_del(ani);
+}
+
+static int
+anim(void *data)
+{
+   Evas_Object *win = data;
+   Evas_Object *bub, *sh;
+   Evas_Coord x, y, w, h, vw, vh;
+   double t, xx, yy, zz, r, fac;
+   double lx, ly;
+   int i;
+   
+   evas_output_viewport_get(evas_object_evas_get(win), 0, 0, &vw, &vh);
+   r = 48;
+   t = ecore_loop_time_get();
+   fac = 2.0 / (double)((sizeof(names) / sizeof(char *) / 2));
+   evas_pointer_canvas_xy_get(evas_object_evas_get(win), &x, &y);
+   lx = x;
+   ly = y;
+   
+   for (i = 0; i < (sizeof(names) / sizeof(char *) / 2); i++)
+     {
+        bub = evas_object_data_get(win, names[i * 2]);
+        sh = evas_object_data_get(win, names[(i * 2) + 1]);
+        zz = (((2 + sin(t * 6 + (M_PI * (i * fac)))) / 3) * 64) * 2;
+        xx = (cos(t * 4 + (M_PI * (i * fac))) * r) * 2;
+        yy = (sin(t * 6 + (M_PI * (i * fac))) * r) * 2;
+        
+        w = zz;
+        h = zz;
+        x = (vw / 2) + xx - (w / 2);
+        y = (vh / 2) + yy - (h / 2);
+        
+        evas_object_move(bub, x, y);
+        evas_object_resize(bub, w, h);
+       
+        x = x - ((lx - (x + (w / 2))) / 4);
+        y = y - ((ly - (y + (h / 2))) / 4);
+        
+        evas_object_move(sh, x, y);
+        evas_object_resize(sh, w, h);
+     }
+   return 1;
+}
+
+void
+test_anim(void *data, Evas_Object *obj, void *event_info)
+{
+   Evas_Object *win, *bg, *bub, *sh;
+   Ecore_Animator *ani;
+   char buf[PATH_MAX];
+   int i;
+   
+   win = elm_win_add(NULL, "floating", ELM_WIN_BASIC);
+   elm_win_title_set(win, "Floaating");
+   elm_win_autodel_set(win, 1);
+
+   bg = elm_bg_add(win);
+   snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", PACKAGE_DATA_DIR);
+   elm_bg_file_set(bg, buf, NULL);
+   elm_win_resize_object_add(win, bg);
+   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_show(bg);
+   
+   snprintf(buf, sizeof(buf), "%s/images/bubble_sh.png", PACKAGE_DATA_DIR);
+   for (i = 0; i < (sizeof(names) / sizeof(char *) / 2); i++)
+     {
+        sh = evas_object_image_filled_add(evas_object_evas_get(win));
+        evas_object_image_file_set(sh, buf, NULL);
+        evas_object_resize(sh, 64, 64);
+        evas_object_show(sh);
+        evas_object_data_set(win, names[(i * 2) + 1], sh);
+     }
+   
+   snprintf(buf, sizeof(buf), "%s/images/bubble.png", PACKAGE_DATA_DIR);
+    for (i = 0; i < (sizeof(names) / sizeof(char *) / 2); i++)
+     {
+        bub = evas_object_image_filled_add(evas_object_evas_get(win));
+        evas_object_image_file_set(bub, buf, NULL);
+        evas_object_resize(bub, 64, 64);
+        evas_object_show(bub);
+        evas_object_data_set(win, names[(i * 2)], bub);
+     }
+   
+   evas_object_resize(win, 480, 800);
+   evas_object_show(win);
+   
+   ani = ecore_animator_add(anim, win);
+   evas_object_data_set(win, "animator", ani);
+   
+   evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _del, win);
+}
+#endif
index 07e9e56..2f84137 100644 (file)
@@ -622,6 +622,15 @@ Evas_Object *gl3_icon_get(const void *data, Evas_Object *obj, const char *part)
    char buf[PATH_MAX];
    if (!strcmp(part, "elm.swallow.icon"))
      {
+        Evas_Object *lb;
+        
+        lb = elm_label_add(obj);
+        elm_label_line_wrap_set(lb, 1);
+        elm_label_wrap_width_set(lb, 201);
+        elm_label_label_set(lb, "ashj ascjscjh n asjkl hcjlh ls hzshnn zjh sh zxjcjsnd h dfw sdv edev efe fwefvv vsd cvs ws wf  fvwf wd fwe f  we wef we wfe rfwewef wfv wswf wefg sdfws w wsdcfwcf wsc vdv  sdsd sdcd cv wsc sdcv wsc d sdcdcsd sdcdsc wdvd sdcsd wscxcv wssvd sd");
+        evas_object_show(lb);
+        return lb;
+        
        Evas_Object *bx = elm_box_add(obj);
        Evas_Object *ic;
        ic = elm_icon_add(obj);