forked from enlightenment/enlightenment
use agent objects for maximize effects
this fixes maximize effects on csd windows by providing an object which will return usable geometry with evas_object_geometry_get()
This commit is contained in:
parent
80595756b7
commit
b366d8bfb1
|
@ -1545,18 +1545,24 @@ _e_client_cb_evas_restack(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_client_maximize_done(void *data, E_Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj EINA_UNUSED)
|
_e_client_maximize_done(void *data, E_Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj)
|
||||||
{
|
{
|
||||||
E_Client *ec = data;
|
E_Client *ec = data;
|
||||||
ec->maximize_override = 0;
|
ec->maximize_override = 0;
|
||||||
|
evas_object_del(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_client_maximize_run(E_Client *ec, int x, int y, int w, int h)
|
_e_client_maximize_run(E_Client *ec, int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
if (e_config->window_maximize_animate && (!starting) && (!ec->changes.need_maximize))
|
if (e_config->window_maximize_animate && (!starting) && (!ec->changes.need_maximize))
|
||||||
e_efx_resize(ec->frame, e_config->window_maximize_transition, E_EFX_POINT(x, y),
|
{
|
||||||
w, h, e_config->window_maximize_time, _e_client_maximize_done, ec);
|
Evas_Object *agent;
|
||||||
|
|
||||||
|
agent = e_comp_object_agent_add(ec->frame);
|
||||||
|
e_efx_resize(agent, e_config->window_maximize_transition, E_EFX_POINT(x, y),
|
||||||
|
w, h, e_config->window_maximize_time, _e_client_maximize_done, ec);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
evas_object_geometry_set(ec->frame, x, y, w, h);
|
evas_object_geometry_set(ec->frame, x, y, w, h);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue