Movie grid: Fixed the edc for animation of grid item 26/44826/1
authorHyojung Jo <hj903.jo@samsung.com>
Tue, 28 Jul 2015 08:25:06 +0000 (17:25 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Tue, 28 Jul 2015 08:25:06 +0000 (17:25 +0900)
Change-Id: I7b205a41c284741a489bf76c12f46a8f6ce44f53
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/define.h
res/widgets/gengrid_movie.edc
src/grid/grid_movie.c

index 5806bc8..d05dc7c 100644 (file)
 /* Source */
 #define SRC_EDC "edc"
 
+/* Transition */
+#define TRANSITION_FOCUS DECELERATE 0.20
+#define TRANSITION_CLICK DECELERATE 0.20
+
 /* Text */
 #define STR_FAVORITE "Favorite"
 #define STR_NULL "(NULL)"
 #define FONT_TIZENSANS_REGULAR "TizenSans"
 #define FONT_TIZENSANS_LIGHT "TizenSans:style=Light"
 
+/* Color */
+#define COLOR_TEXT_BG 113 128 147 255
+#define COLOR_ITEM_FOCUS 0 119 246 255
+#define COLOR_ITEM_FOCUS_0 0 119 246 0
+
 /* Size */
 #define SIZE_BOX_PAD_H (40 + 40)
 #define SIZE_BOX_PAD_V 0
index b01bf0a..ed9fd21 100644 (file)
@@ -18,22 +18,100 @@ group {
        name, "elm/gengrid/item/style.movie/default";
        data.item, "focus_highlight" "on";
        data.item, "texts" "part.thumb.text";
-       data.item, "contents" "part.thumb.icon part.thumb.text.bg";
+       data.item, "contents" "part.thumb.icon";
        images {
                image, PLAY_ICON_PNG COMP;
        }
 
        parts {
                part {
+                       name, "padding.bottom.right";
+                       type, SPACER;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               rel1.relative, 1.0 1.0;
+                               min, 26 26;
+                               align, 1.0 1.0;
+                               fixed, 1 1;
+                       }
+               }
+
+               part {
+                       name, "map";
+                       type, RECT;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               perspective {
+                                       zplane, 0;
+                                       focal, 1000;
+                               }
+                               visible, 0;
+                       }
+                       description {
+                               state, "selected" 0.0;
+                               inherit, "default" 0.0;
+                               perspective.zplane, -100;
+                       }
+               }
+
+               part {
+                       name, "part.bg";
+                       type, RECT;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               rel2 {
+                                       to, "padding.bottom.right";
+                                       relative, 0.0 0.0;
+                               }
+                               fixed, 1 1;
+                               visible, 0;
+                       }
+               }
+
+               part {
+                       name, "part.default.bg";
+                       type, RECT;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               rel1.to, "part.bg";
+                               rel2 {
+                                       to, "part.thumb.text.bg";
+                                       relative, 1.0 1.0;
+                               }
+                               color, 0 0 0 115;
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
+                               }
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               map.on, 1;
+                       }
+               }
+
+               part {
                        name, PART_THUMB_ICON;
                        type, SWALLOW;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 378 212;
-                               rel2.relative, 0.0 0.0;
-                               align, 0.0 0.0;
-                               fixed, 1 1;
+                               rel1.to, "part.default.bg";
+                               rel2.to, "part.default.bg";
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
+                               }
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               map.on, 1;
                        }
                }
 
@@ -68,53 +146,72 @@ group {
                                }
                                align, 0.0 0.0;
                                fixed, 1 1;
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
+                               }
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               map.on, 1;
                        }
                }
 
                part {
-                       name, PART_THUMB_TEXT_BG;
-                       type, SWALLOW;
+                       name, "part.default.text.bg";
+                       type, RECT;
+                       mouse_events, 0;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               min, 378 82;
                                rel1 {
-                                       to, PART_THUMB_ICON;
+                                       to, "part.bg";
                                        relative, 0.0 1.0;
                                }
-                               rel2 {
-                                       to, PART_THUMB_ICON;
-                                       relative, 0.0 1.0;
+                               rel2.to, "part.bg";
+                               min, 0 82;
+                               align, 0.5 1.0;
+                               color, COLOR_TEXT_BG;
+                               fixed, 0 1;
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
                                }
-                               align, 0.0 0.0;
-                               fixed, 1 1;
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               color, COLOR_ITEM_FOCUS;
+                               map.on, 1;
                        }
                }
 
                part {
-                       name, "part.focus.down";
+                       name, "part.thumb.text.bg";
                        type, RECT;
+                       mouse_events, 0;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               color, 0 119 246 255;
-                               min, 378 82;
-                               rel1 {
-                                       to, PART_THUMB_ICON;
-                                       relative, 0.0 1.0;
+                               color, COLOR_TEXT_BG;
+                               rel1.to, "part.default.text.bg";
+                               rel2.to, "part.default.text.bg";
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
                                }
-                               rel2 {
-                                       to, PART_THUMB_ICON;
-                                       relative, 0.0 1.0;
-                               }
-                               align, 0.0 0.0;
-                               fixed, 1 1;
-                               visible, 0;
                        }
                        description {
                                state, "focused" 0.0;
                                inherit, "default" 0.0;
-                               visible, 1;
+                               color, COLOR_ITEM_FOCUS;
+                               map.on, 1;
+                       }
+                       description {
+                               state, "focused_0" 0.0;
+                               inherit, "default" 0.0;
+                               color, COLOR_ITEM_FOCUS_0;
                        }
                }
 
@@ -125,9 +222,9 @@ group {
                        description {
                                state, "default" 0.0;
                                min, 18 0;
-                               rel1.to, PART_THUMB_TEXT_BG;
+                               rel1.to, "part.thumb.text.bg";
                                rel2 {
-                                       to, PART_THUMB_TEXT_BG;
+                                       to, "part.thumb.text.bg";
                                        relative, 0.0 1.0;
                                }
                                align, 0.0 0.5;
@@ -158,57 +255,95 @@ group {
                                        size, 28;
                                        align, 0.0 0.5;
                                }
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
+                               }
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               map.on, 1;
+                       }
+                       description {
+                               state, "focused_0" 0.0;
+                               inherit, "focused" 0.0;
                        }
                }
 
                part {
                        name, "part.focus.up";
                        type, RECT;
+                       mouse_events, 0;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               color, 0 119 246 255;
+                               color, COLOR_ITEM_FOCUS;
                                min, 378 6;
                                rel2.relative, 0.0 0.0;
                                align, 0.0 0.0;
                                fixed, 1 1;
                                visible, 0;
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
+                               }
                        }
                        description {
                                state, "focused" 0.0;
                                inherit, "default" 0.0;
                                visible, 1;
+                               map.on, 1;
+                       }
+                       description {
+                               state, "focused_0" 0.0;
+                               inherit, "default" 0.0;
+                               visible, 1;
+                               color, COLOR_ITEM_FOCUS_0;
                        }
                }
 
                part {
                        name, "part.focus.left";
                        type, RECT;
+                       mouse_events, 0;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               color, 0 119 246 255;
-                               min, 6 294;
+                               color, COLOR_ITEM_FOCUS;
+                               min, 6 212;
                                rel2.relative, 0.0 0.0;
                                align, 0.0 0.0;
                                fixed, 1 1;
                                visible, 0;
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
+                               }
                        }
                        description {
                                state, "focused" 0.0;
                                inherit, "default" 0.0;
                                visible, 1;
+                               map.on, 1;
+                       }
+                       description {
+                               state, "focused_0" 0.0;
+                               inherit, "default" 0.0;
+                               visible, 1;
+                               color, COLOR_ITEM_FOCUS_0;
                        }
                }
 
                part {
                        name, "part.focus.right";
                        type, RECT;
+                       mouse_events, 0;
                        scale, 1;
                        description {
                                state, "default" 0.0;
-                               color, 0 119 246 255;
-                               min, 6 294;
+                               color, COLOR_ITEM_FOCUS;
+                               min, 6 212;
                                rel1 {
                                        to, "part.focus.up";
                                        relative, 1.0 0.0;
@@ -220,11 +355,22 @@ group {
                                align, 1.0 0.0;
                                fixed, 1 1;
                                visible, 0;
+                               map {
+                                       perspective_on, 1;
+                                       perspective, "map";
+                               }
                        }
                        description {
                                state, "focused" 0.0;
                                inherit, "default" 0.0;
                                visible, 1;
+                               map.on, 1;
+                       }
+                       description {
+                               state, "focused_0" 0.0;
+                               inherit, "default" 0.0;
+                               visible, 1;
+                               color, COLOR_ITEM_FOCUS_0;
                        }
                }
        }
@@ -234,11 +380,33 @@ group {
                        name, SIG_FOCUSED;
                        signal, "elm,state,focused";
                        source, "elm";
+                       action, STATE_SET "focused_0" 0.0;
+                       target, "part.thumb.text.bg";
+                       target, "part.focus.up";
+                       target, "part.focus.left";
+                       target, "part.focus.right";
+                       target, PART_THUMB_TEXT;
+                       after, "focus.in.anim";
+               }
+
+               program {
+                       name, "focus.in.anim";
                        action, STATE_SET "focused" 0.0;
+                       target, "part.default.bg";
+                       target, PART_THUMB_ICON;
+                       target, "part.play.icon";
+                       target, "part.thumb.text.bg";
                        target, "part.focus.up";
                        target, "part.focus.left";
-                       target, "part.focus.down";
                        target, "part.focus.right";
+                       transition, TRANSITION_FOCUS;
+                       after, "focus.in.anim.2";
+               }
+
+               program {
+                       name, "focus.in.anim.2";
+                       action, STATE_SET "focused" 0.0;
+                       target, "part.default.text.bg";
                }
 
                program {
@@ -246,9 +414,31 @@ group {
                        signal, "elm,state,unfocused";
                        source, "elm";
                        action, STATE_SET "default" 0.0;
+                       target, PART_THUMB_TEXT;
+                       target, "part.default.text.bg";
+                       after, "focus.out.anim";
+               }
+
+               program {
+                       name, "focus.out.anim";
+                       action, STATE_SET "selected_0" 0.0;
+                       target, "part.thumb.text.bg";
+                       target, "part.focus.up";
+                       target, "part.focus.left";
+                       target, "part.focus.right";
+                       transition, TRANSITION_FOCUS;
+                       after, "focus.out.anim.2";
+               }
+
+               program {
+                       name, "focus.out.anim.2";
+                       action, STATE_SET "default" 0.0;
+                       target, PART_THUMB_ICON;
+                       target, "part.play.icon";
+                       target, "part.default.bg";
+                       target, "part.default.text.bg";
                        target, "part.focus.up";
                        target, "part.focus.left";
-                       target, "part.focus.down";
                        target, "part.focus.right";
                }
 
@@ -256,6 +446,17 @@ group {
                        name, SIG_SELECTED;
                        signal, "elm,state,selected";
                        source, "elm";
+                       action, STATE_SET "selected" 0.0;
+                       target, "map";
+                       transition, TRANSITION_CLICK;
+                       after, "after_selected";
+               }
+
+               program {
+                       name, "after_selected";
+                       action, STATE_SET "default" 0.0;
+                       target, "map";
+                       transition, TRANSITION_CLICK;
                        after, "item_selected";
                }
 
index 90c2c6d..80e5713 100644 (file)
 #define ITEM_MOVIE_X (378 + 26)
 #define ITEM_MOVIE_Y (294 + 26)
 
-/* It is temporarily used. */
-#define COUNT_COLOR 5
-
-struct color {
-       int r;
-       int g;
-       int b;
-       int a;
-};
-
-static struct color colors[] =
-{
-       {73, 68, 62, 255},
-       {55, 74, 97, 255},
-       {75, 102, 163, 255},
-       {55, 143, 162, 255},
-       {86, 98, 113, 255}
-};
-
 static char *_text_get(void *data, Evas_Object *obj, const char *part)
 {
        struct datamgr *dmgr;
@@ -70,9 +51,8 @@ static char *_text_get(void *data, Evas_Object *obj, const char *part)
 static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part)
 {
        struct datamgr *dmgr;
-       Evas_Object *icon, *img, *text_bg;
+       Evas_Object *icon, *img;
        char *thumbnail;
-       int idx;
 
        if (!data || !obj) {
                _ERR("Invalid argument.");
@@ -83,52 +63,33 @@ static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part)
        if (!dmgr || !dmgr->get_data)
                return NULL;
 
-       if (!strcmp(part, PART_THUMB_ICON)) {
-               thumbnail = dmgr->get_data(data, DATA_THUMBNAIL);
-
-               if (!thumbnail) {
-                       icon = elm_icon_add(obj);
-                       if (!icon) {
-                               _ERR("elm_icon_add failed.");
-                               return NULL;
-                       }
-
-                       elm_icon_thumb_set(icon,
-                                       dmgr->get_data(data, DATA_PATH), NULL);
-                       elm_image_aspect_fixed_set(icon, EINA_FALSE);
-
-                       return icon;
-               }
+       thumbnail = dmgr->get_data(data, DATA_THUMBNAIL);
 
-               img = elm_image_add(obj);
-               if (!img) {
-                       _ERR("elm_image_add failed.");
+       if (!thumbnail) {
+               icon = elm_icon_add(obj);
+               if (!icon) {
+                       _ERR("elm_icon_add failed.");
                        return NULL;
                }
 
-               elm_image_file_set(img, thumbnail, NULL);
-               elm_image_aspect_fixed_set(img, EINA_FALSE);
-               evas_object_show(img);
+               elm_icon_thumb_set(icon,
+                               dmgr->get_data(data, DATA_PATH), NULL);
+               elm_image_aspect_fixed_set(icon, EINA_FALSE);
 
-               return img;
-       } else if (!strcmp(part, PART_THUMB_TEXT_BG)) {
-               text_bg = evas_object_rectangle_add(obj);
-               if (!text_bg) {
-                       _ERR("evas_object_rectangle_add failed.");
-                       return NULL;
-               }
-
-               idx = rand() % COUNT_COLOR;
-
-               evas_object_color_set(text_bg, colors[idx].r, colors[idx].g,
-                               colors[idx].b, colors[idx].a);
-
-               evas_object_show(text_bg);
+               return icon;
+       }
 
-               return text_bg;
+       img = elm_image_add(obj);
+       if (!img) {
+               _ERR("elm_image_add failed.");
+               return NULL;
        }
 
-       return NULL;
+       elm_image_file_set(img, thumbnail, NULL);
+       elm_image_aspect_fixed_set(img, EINA_FALSE);
+       evas_object_show(img);
+
+       return img;
 }
 
 static struct grid_class _gclass = {