From 7ea9df0f532a107c71dc21273908b684bb47bd45 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Fri, 17 Oct 2014 04:47:57 -0400 Subject: [PATCH] add evas callback for client resize Signed-off-by: Chris Michael --- src/bin/e_comp_wl.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 42b2f4180..e69dd012b 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -486,6 +486,27 @@ _e_comp_wl_evas_cb_color_set(void *data, Evas_Object *obj, void *event EINA_UNUS // _e_comp_wl_client_idler_add(ec); } +static void +_e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) +{ + E_Client *ec; + + if (!(ec = data)) return; + if ((ec->shading) || (ec->shaded)) return; + + DBG("Evas Resize Surface %d", + wl_resource_get_id(ec->comp_data->shell.surface)); + DBG("\tNew Size: %d %d", ec->client.w, ec->client.h); + +// if (!e_pixmap_size_changed(ec->pixmap, ec->client.w, ec->client.h)) +// return; + + ec->post_resize = EINA_TRUE; + /* e_pixmap_dirty(ec->pixmap); */ + e_comp_object_render_update_del(ec->frame); + // _e_comp_wl_client_idler_add(ec); +} + static void _e_comp_wl_client_evas_init(E_Client *ec) { @@ -525,6 +546,12 @@ _e_comp_wl_client_evas_init(E_Client *ec) evas_object_smart_callback_add(ec->frame, "color_set", _e_comp_wl_evas_cb_color_set, ec); + if (!ec->override) + { + evas_object_smart_callback_add(ec->frame, "client_resize", + _e_comp_wl_evas_cb_resize, ec); + } + ec->comp_data->evas_init = EINA_TRUE; }