diff options
author | Hyojung Jo <hj903.jo@samsung.com> | 2015-07-31 18:01:49 +0900 |
---|---|---|
committer | Hyojung Jo <hj903.jo@samsung.com> | 2015-07-31 18:01:49 +0900 |
commit | e9544055b5e31044316b4abce81529a8ca8172b9 (patch) | |
tree | a1055672018e2b21f18f10cc0c1fb3475c95abc7 /src/grid | |
parent | 001329f936e7ab1eaf61a5ffdf2c4a7bba01e0a4 (diff) | |
download | air_favorite-e9544055b5e31044316b4abce81529a8ca8172b9.tar.gz air_favorite-e9544055b5e31044316b4abce81529a8ca8172b9.tar.bz2 air_favorite-e9544055b5e31044316b4abce81529a8ca8172b9.zip |
Fixed the apps grid for animation effect
Change-Id: I67c80db9e3bd15b109acee6d6984965318c93b6c
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
Diffstat (limited to 'src/grid')
-rw-r--r-- | src/grid/grid_apps.c | 61 |
1 files changed, 42 insertions, 19 deletions
diff --git a/src/grid/grid_apps.c b/src/grid/grid_apps.c index 57de251..bcd0489 100644 --- a/src/grid/grid_apps.c +++ b/src/grid/grid_apps.c @@ -41,24 +41,24 @@ struct color { }; static struct color color_icon[] = { - {84, 79, 73, 255}, - {92, 122, 190, 255}, + {104, 99, 93, 255}, {73, 155, 173, 255}, - {79, 187, 165, 255}, + {92, 122, 190, 255}, {97, 109, 124, 255}, - {169, 54, 54, 255}, - {206, 118, 70, 255} + {219, 162, 96, 255}, + {79, 187, 165, 255}, + {169, 54, 54, 255} }; static struct color color_text[] = { - {73, 68, 62, 255}, - {75, 102, 163, 255}, + {93, 88, 82, 255}, {55, 143, 162, 255}, - {47, 175, 149, 255}, + {75, 102, 163, 255}, {86, 98, 113, 255}, - {155, 46, 46, 255}, - {200, 99, 45, 255} + {194, 133, 62, 255}, + {47, 175, 149, 255}, + {155, 46, 46, 255} }; static char *_text_get(void *data, Evas_Object *obj, const char *part) @@ -82,23 +82,36 @@ static char *_text_get(void *data, Evas_Object *obj, const char *part) return strdup(name); } +static int _get_color_index(const char *str) +{ + int i, value = 0; + + if (!str) + return 0; + + for (i = 0; i < strlen(str); i++) + value += *str; + + return value % COUNT_COLOR; +} + static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part) { struct datamgr *dmgr; Evas_Object *img, *ly, *icon_bg, *text_bg = NULL; - char *icon; - int idx; + char *icon, *name, *img_path; + int idx, w, h; if (!data || !obj) { _ERR("Data is NULL."); return NULL; } - if (!strcmp(part, PART_THUMB_ICON)) { - dmgr = get_apps_datamgr(); - if (!dmgr || !dmgr->get_data) - return NULL; + dmgr = get_apps_datamgr(); + if (!dmgr || !dmgr->get_data) + return NULL; + if (!strcmp(part, PART_THUMB_ICON)) { icon = dmgr->get_data(data, DATA_THUMBNAIL); img = elm_image_add(obj); @@ -108,12 +121,22 @@ static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part) } if (!icon || !strcmp(icon, STR_NULL)) - elm_image_file_set(img, DEFAULT_APP_PNG, NULL); + img_path = DEFAULT_APP_ICON_PNG; else - elm_image_file_set(img, icon, NULL); + img_path = icon; + + if (!elm_image_file_set(img, img_path, NULL)) + elm_image_file_set(img, DEFAULT_APP_ICON_PNG, NULL); + + elm_image_object_size_get(img, &w, &h); + + if (w <= SIZE_APP_ICON_MAX && h <= SIZE_APP_ICON_MAX) + elm_image_resizable_set(img, EINA_FALSE, EINA_FALSE); return img; } else if (!strcmp(part, PART_THUMB_BG)) { + name = dmgr->get_data(data, DATA_NAME); + ly = elm_layout_add(obj); if (!ly) { _ERR("elm_bg_add failed."); @@ -138,7 +161,7 @@ static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part) } /* FIXME: The color will be changed as GUI later. */ - idx = rand() % COUNT_COLOR; + idx = _get_color_index(name); evas_object_color_set(icon_bg, color_icon[idx].r, color_icon[idx].g, |