static void _e_comp_wl_viewport_cb_parent_resize(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _e_comp_wl_viewport_parent_check(E_Viewport *viewport);
-static E_Client*
-_topmost_parent_get(E_Client *ec)
-{
- E_Client *parent;
-
- parent = e_comp_wl_subsurface_parent_get(ec);
- while (parent)
- {
- if (!e_comp_wl_subsurface_check(parent))
- return parent;
-
- parent = e_comp_wl_subsurface_parent_get(parent);
- }
-
- return ec;
-}
-
static void
_destroy_viewport(E_Viewport *viewport)
{
_client_cb_move(void *data, E_Client *ec)
{
E_Viewport *viewport = data;
- E_Client *topmost = _topmost_parent_get(ec);
+ E_Client *topmost = e_comp_wl_topmost_parent_get(ec);
if (ec != topmost && ec != viewport->epc) return;
_client_cb_resize(void *data, E_Client *ec)
{
E_Viewport *viewport = data;
- E_Client *topmost = _topmost_parent_get(ec);
+ E_Client *topmost = e_comp_wl_topmost_parent_get(ec);
if (ec != topmost && ec != viewport->epc) return;
ptransform = e_comp_wl_output_buffer_transform_get(epc);
- topmost = _topmost_parent_get(epc);
+ topmost = e_comp_wl_topmost_parent_get(epc);
if (ptransform != 0 && epc == topmost)
{
{
E_Viewport *viewport = container_of(listener, E_Viewport, surface_apply_viewport_listener);
E_Client *ec = viewport->ec;
- E_Client *topmost = _topmost_parent_get(ec);
+ E_Client *topmost = e_comp_wl_topmost_parent_get(ec);
E_Comp_Wl_Buffer_Viewport *vp = &ec->comp_data->scaler.buffer_viewport;
Eina_Bool changed = EINA_FALSE;
{
E_Viewport *viewport = data;
E_Client *ec = viewport->ec;
- E_Client *topmost = _topmost_parent_get(ec);
+ E_Client *topmost = e_comp_wl_topmost_parent_get(ec);
E_Event_Client *ev = event;
if (topmost != ev->ec)