Apps grid: Fix the grid thumbnail background color 14/44014/1
authorHyojung Jo <hj903.jo@samsung.com>
Thu, 16 Jul 2015 07:30:06 +0000 (16:30 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Thu, 16 Jul 2015 07:30:06 +0000 (16:30 +0900)
Change-Id: Ia678c8823fad10d4156921da29f9b071b1acbadd
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
src/grid/grid_apps.c

index 134cd25..47bc5bf 100644 (file)
 #define ITEM_APPS_X (212 + 26)
 #define ITEM_APPS_Y (294 + 26)
 
+/* It is temporarily used. */
+#define COUNT_COLOR 7
+
+struct color {
+       int r;
+       int g;
+       int b;
+       int a;
+};
+
+static struct color color_icon[] = {
+       {84, 79, 73, 255},
+       {92, 122, 190, 255},
+       {73, 155, 173, 255},
+       {79, 187, 165, 255},
+       {97, 109, 124, 255},
+       {169, 54, 54, 255},
+       {206, 118, 70, 255}
+};
+
+static struct color color_text[] =
+{
+       {73, 68, 62, 255},
+       {75, 102, 163, 255},
+       {55, 143, 162, 255},
+       {47, 175, 149, 255},
+       {86, 98, 113, 255},
+       {155, 46, 46, 255},
+       {200, 99, 45, 255}
+};
+
 static char *_text_get(void *data, Evas_Object *obj, const char *part)
 {
        struct app_data *adata;
@@ -45,8 +76,9 @@ 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 app_data *adata;
-       Evas_Object *img = NULL;
+       Evas_Object *img, *ly, *icon_bg, *text_bg = NULL;
        char *icon;
+       int idx;
 
        if (!data || !obj) {
                _ERR("Data is NULL.");
@@ -54,21 +86,64 @@ static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part)
        }
        adata = data;
 
-       icon = get_app_icon(adata);
-
-       img = elm_image_add(obj);
-       if (!img) {
-               _ERR("elm_image_add failed.");
-               return NULL;
+       if (!strcmp(part, PART_THUMB_ICON)) {
+               icon = get_app_icon(adata);
+
+               img = elm_image_add(obj);
+               if (!img) {
+                       _ERR("elm_image_add failed.");
+                       return NULL;
+               }
+
+               if (!icon || !strcmp(icon, STR_NULL))
+                       /* FIXME: The default icon image should be registerd. */
+                       elm_image_file_set(img, NULL, NULL);
+               else
+                       elm_image_file_set(img, icon, NULL);
+
+               return img;
+       } else if (!strcmp(part, PART_THUMB_BG)) {
+               ly = elm_layout_add(obj);
+               if (!ly) {
+                       _ERR("elm_bg_add failed.");
+                        return NULL;
+                }
+
+                elm_layout_file_set(ly, EDJEFILE, GRP_APP_THUMB_BG);
+                evas_object_show(ly);
+
+                icon_bg = evas_object_rectangle_add(ly);
+                if (!icon_bg) {
+                        _ERR("elm_rectangle_add failed.");
+                        evas_object_del(ly);
+                        return NULL;
+                }
+
+                text_bg = evas_object_rectangle_add(icon_bg);
+                if (!text_bg) {
+                        _ERR("elm_rectangle_add failed.");
+                        evas_object_del(ly);
+                        return NULL;;
+                }
+
+                /* FIXME: The color will be changed as GUI later. */
+                idx = rand() % COUNT_COLOR;
+
+                evas_object_color_set(icon_bg,
+                                color_icon[idx].r, color_icon[idx].g,
+                                color_icon[idx].b, color_icon[idx].a);
+
+                evas_object_color_set(text_bg,
+                                color_text[idx].r, color_text[idx].g,
+                                color_text[idx].b, color_text[idx].a);
+
+                elm_object_part_content_set(ly, PART_THUMB_ICON_BG, icon_bg);
+                elm_object_part_content_set(ly, PART_THUMB_TEXT_BG, text_bg);
+
+                return ly;
        }
 
-       if (!icon || !strcmp(icon, STR_NULL))
-               /* FIXME: It should be fixed when the icon path is NULL. */
-               elm_image_file_set(img, NULL, NULL);
-       else
-               elm_image_file_set(img, icon, NULL);
-
-       return img;
+       return NULL;
 }
 
 static struct grid_class _gclass = {