make bgpreview widget work with panoramic wallpapers

This commit is contained in:
Mike Blumenkrantz 2015-09-21 15:03:41 -04:00
parent d01f036833
commit 7925bb3923
1 changed files with 17 additions and 0 deletions

View File

@ -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 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_widget_bgpreview_add(Evas *evas, int nx, int ny)
{
@ -83,6 +98,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));
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);
evas_object_show(dd->thumb);
eina_stringshare_del(bgfile);
@ -314,6 +330,7 @@ _e_wid_cb_bg_update(void *data, int type, void *event)
bgfile = e_bg_file_get(dd->manager, dd->zone, dd->x, dd->y);
edje_object_file_set(dd->thumb, bgfile, "e/desktop/background");
_bgpreview_viewport_update(dd->thumb, e_comp_zone_number_get(e_comp_get(NULL), dd->zone), dd->x, dd->y);
eina_stringshare_del(bgfile);
}