#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;
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.");
}
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 = {