diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libraries/winFang.c | 15 | ||||
-rw-r--r-- | src/libraries/winFang.h | 1 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/libraries/winFang.c b/src/libraries/winFang.c index 33d5ea6..c6b019a 100644 --- a/src/libraries/winFang.c +++ b/src/libraries/winFang.c | |||
@@ -75,7 +75,7 @@ void winFangShow(winFang *win) | |||
75 | winFang *winFangAdd(winFang *parent, int x, int y, int w, int h, char *title, char *name) | 75 | winFang *winFangAdd(winFang *parent, int x, int y, int w, int h, char *title, char *name) |
76 | { | 76 | { |
77 | winFang *result; | 77 | winFang *result; |
78 | Evas_Object *obj, *obj2, *bg; | 78 | Evas_Object *obj, *obj2; |
79 | char buf[PATH_MAX]; | 79 | char buf[PATH_MAX]; |
80 | int i; | 80 | int i; |
81 | 81 | ||
@@ -152,15 +152,17 @@ winFang *winFangAdd(winFang *parent, int x, int y, int w, int h, char *title, ch | |||
152 | } | 152 | } |
153 | 153 | ||
154 | elm_win_title_set(result->win, title); | 154 | elm_win_title_set(result->win, title); |
155 | // Apparently transparent is not good enough for ELM backgrounds, so make it an Evas rectangle. | 155 | |
156 | // Apparently coz ELM prefers stuff to have edjes. A bit over the top if all I want is a transparent rectangle. | 156 | snprintf(buf, sizeof(buf), "%s/sky_04.jpg", elm_app_data_dir_get()); |
157 | bg = eo_add(EVAS_OBJ_RECTANGLE_CLASS, evas_object_evas_get(result->win), | 157 | result->bg = eo_add(ELM_OBJ_IMAGE_CLASS, result->win, |
158 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), | 158 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), |
159 | elm_obj_image_fill_outside_set(EINA_TRUE), | ||
160 | elm_obj_image_file_set(buf, NULL), | ||
159 | evas_obj_color_set(50, 0, 100, 100), | 161 | evas_obj_color_set(50, 0, 100, 100), |
160 | evas_obj_visibility_set(EINA_TRUE) | 162 | evas_obj_visibility_set(EINA_TRUE) |
161 | ); | 163 | ); |
162 | elm_win_resize_object_add(result->win, bg); | 164 | elm_win_resize_object_add(result->win, result->bg); |
163 | eo_unref(bg); | 165 | |
164 | 166 | ||
165 | evas_object_resize(result->win, result->w, result->h); | 167 | evas_object_resize(result->win, result->w, result->h); |
166 | evas_object_show(result->win); | 168 | evas_object_show(result->win); |
@@ -175,6 +177,7 @@ void winFangDel(winFang *win) | |||
175 | 177 | ||
176 | if (!win) return; | 178 | if (!win) return; |
177 | 179 | ||
180 | eo_unref(win->bg); | ||
178 | EINA_CLIST_FOR_EACH_ENTRY(wf, &win->winFangs, winFang, node) | 181 | EINA_CLIST_FOR_EACH_ENTRY(wf, &win->winFangs, winFang, node) |
179 | { | 182 | { |
180 | winFangDel(wf); | 183 | winFangDel(wf); |
diff --git a/src/libraries/winFang.h b/src/libraries/winFang.h index f3c4861..93ff9b1 100644 --- a/src/libraries/winFang.h +++ b/src/libraries/winFang.h | |||
@@ -18,6 +18,7 @@ | |||
18 | typedef struct _winFang | 18 | typedef struct _winFang |
19 | { | 19 | { |
20 | Evas_Object *win; | 20 | Evas_Object *win; |
21 | Evas_Object *bg; | ||
21 | Eina_Clist widgets; | 22 | Eina_Clist widgets; |
22 | Eina_Clist winFangs; | 23 | Eina_Clist winFangs; |
23 | int x, y, w, h; | 24 | int x, y, w, h; |