forked from enlightenment/enlightenment
make bgpreview widget work with panoramic wallpapers
This commit is contained in:
parent
3762dd6caf
commit
6b1affe6f1
|
@ -26,6 +26,21 @@ static void _e_wid_desk_cb_config(void *data, Evas *evas, Evas_Object *obj,
|
||||||
static void _e_wid_cb_resize(void *data, Evas *evas, Evas_Object *obj, void *event);
|
static void _e_wid_cb_resize(void *data, Evas *evas, Evas_Object *obj, void *event);
|
||||||
static Eina_Bool _e_wid_cb_bg_update(void *data, int type, void *event);
|
static Eina_Bool _e_wid_cb_bg_update(void *data, int type, void *event);
|
||||||
|
|
||||||
|
static void
|
||||||
|
_bgpreview_viewport_update(Evas_Object *o, const E_Zone *zone, int x, int y)
|
||||||
|
{
|
||||||
|
Edje_Message_Float_Set *msg;
|
||||||
|
|
||||||
|
msg = alloca(sizeof(Edje_Message_Float_Set) + (4 * sizeof(double)));
|
||||||
|
msg->count = 5;
|
||||||
|
msg->val[0] = 0.2 * (!!e_config->desk_flip_animate_mode);//e_config->desk_flip_animate_time;
|
||||||
|
msg->val[1] = x;
|
||||||
|
msg->val[2] = zone->desk_x_count;
|
||||||
|
msg->val[3] = y;
|
||||||
|
msg->val[4] = zone->desk_y_count;
|
||||||
|
edje_object_message_send(o, EDJE_MESSAGE_FLOAT_SET, 0, msg);
|
||||||
|
}
|
||||||
|
|
||||||
E_API Evas_Object *
|
E_API Evas_Object *
|
||||||
e_widget_bgpreview_add(Evas *evas, int nx, int ny)
|
e_widget_bgpreview_add(Evas *evas, int nx, int ny)
|
||||||
{
|
{
|
||||||
|
@ -82,6 +97,7 @@ e_widget_bgpreview_desk_add(Evas *e, E_Zone *zone, int x, int y)
|
||||||
|
|
||||||
dd->thumb = edje_object_add(e_livethumb_evas_get(dd->live));
|
dd->thumb = edje_object_add(e_livethumb_evas_get(dd->live));
|
||||||
edje_object_file_set(dd->thumb, bgfile, "e/desktop/background");
|
edje_object_file_set(dd->thumb, bgfile, "e/desktop/background");
|
||||||
|
_bgpreview_viewport_update(dd->thumb, zone, x, y);
|
||||||
e_livethumb_thumb_set(dd->live, dd->thumb);
|
e_livethumb_thumb_set(dd->live, dd->thumb);
|
||||||
evas_object_show(dd->thumb);
|
evas_object_show(dd->thumb);
|
||||||
eina_stringshare_del(bgfile);
|
eina_stringshare_del(bgfile);
|
||||||
|
@ -312,6 +328,7 @@ _e_wid_cb_bg_update(void *data, int type, void *event)
|
||||||
|
|
||||||
bgfile = e_bg_file_get(dd->zone, dd->x, dd->y);
|
bgfile = e_bg_file_get(dd->zone, dd->x, dd->y);
|
||||||
edje_object_file_set(dd->thumb, bgfile, "e/desktop/background");
|
edje_object_file_set(dd->thumb, bgfile, "e/desktop/background");
|
||||||
|
_bgpreview_viewport_update(dd->thumb, e_comp_zone_number_get(dd->zone), dd->x, dd->y);
|
||||||
eina_stringshare_del(bgfile);
|
eina_stringshare_del(bgfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue