aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Walter Seikel2014-05-06 23:23:17 +1000
committerDavid Walter Seikel2014-05-06 23:23:17 +1000
commit4c8266866da9c30373dec3391dafb3c48a30e431 (patch)
treecbe563afdc9983ab34852972028cb2eef0987659
parentDeduplicate comment after cut'n'paste. (diff)
downloadSledjHamr-4c8266866da9c30373dec3391dafb3c48a30e431.zip
SledjHamr-4c8266866da9c30373dec3391dafb3c48a30e431.tar.gz
SledjHamr-4c8266866da9c30373dec3391dafb3c48a30e431.tar.bz2
SledjHamr-4c8266866da9c30373dec3391dafb3c48a30e431.tar.xz
WinFangs use an Elm image instead of a rectangle for their background, and others can change the image.
-rw-r--r--src/libraries/winFang.c15
-rw-r--r--src/libraries/winFang.h1
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)
75winFang *winFangAdd(winFang *parent, int x, int y, int w, int h, char *title, char *name) 75winFang *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 @@
18typedef struct _winFang 18typedef 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;