Remove effect object under 75/317175/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 5 Sep 2024 06:28:07 +0000 (15:28 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 5 Sep 2024 06:29:32 +0000 (15:29 +0900)
E_Plane and tdm_layer are deprecated

Change-Id: I1fa419ae348fd6632d6d99891779d68c277d289f

src/e_mod_effect.c

index 7a60fe546f948ba9cae67c58c8620829f815057e..9b06e372f2dc6ddbda15b4dde20be5a29bbc7136 100644 (file)
@@ -20,164 +20,6 @@ typedef struct _E_Effect_Client
    unsigned int bg_animating;
 } E_Effect_Client;
 
-typedef struct
-{
-   tdm_layer *tlayer;
-   int zpos;
-} Under_Layer;
-
-static int
-_eff_object_underlayer_sort(const void *data1, const void *data2)
-{
-   const Under_Layer *layer1, *layer2;
-
-   layer1 = data1;
-   layer2 = data2;
-
-   if (layer1->zpos < layer2->zpos)
-     return -1;
-   else if (layer1->zpos > layer2->zpos)
-     return 1;
-   else
-     return 0;
-}
-
-static Evas_Object *
-_eff_object_underlayer_get(E_Client *ec)
-{
-   Evas_Object *underlay = NULL;
-   E_Comp_Screen *e_comp_screen;
-   Eina_List *l;
-   Under_Layer *ulayer;
-   E_Zone *zone;
-
-   e_comp_screen = e_comp->e_comp_screen;
-   if (!e_comp_screen)
-     return NULL;
-
-   zone = e_comp_zone_find_by_ec(ec);
-   if (!zone) return NULL;
-
-   if (e_client_video_client_has(ec))
-     {
-        if ((!_eff->under_layers) && (!_eff->under_checked))
-          {
-             tdm_layer_capability capabilities;
-             E_Output *eoutput;
-             E_Plane *plane;
-             const Eina_List *planes, *l;
-
-             eoutput = e_output_find(zone->output_id);
-             if (eoutput) return NULL;
-
-             planes = e_output_planes_get(eoutput);
-             if (!planes) return NULL;
-
-             /* Find a plane which is placed under primary and used for video.
-              * planes is supposed to be sorted by zpos (lower -> higher) */
-             EINA_LIST_FOREACH(planes, l, plane)
-               {
-                  if (e_plane_is_primary(plane))
-                    break;
-
-                  if (!plane->is_video)
-                    continue;
-
-                  tdm_layer_get_capabilities(plane->tlayer, &capabilities);
-                  if (!(capabilities & TDM_LAYER_CAPABILITY_GRAPHIC)) continue;
-
-                  ulayer = E_NEW(Under_Layer, 1);
-                  if (!ulayer) continue;
-                  ulayer->zpos = plane->zpos;
-                  ulayer->tlayer = plane->tlayer;
-
-                  _eff->under_layers = eina_list_append(_eff->under_layers,
-                                                        ulayer);
-               }
-
-             _eff->under_checked = EINA_TRUE;
-
-             if (!_eff->under_layers)
-               return NULL;
-
-             _eff->under_layers = eina_list_sort(_eff->under_layers,
-                                                 eina_list_count(_eff->under_layers),
-                                                 _eff_object_underlayer_sort);
-          }
-
-        if (!_eff->under_layers) return NULL;
-
-        EINA_LIST_FOREACH(_eff->under_layers, l, ulayer)
-          {
-             tdm_layer *layer;
-             Evas_Object *img;
-             tbm_surface_h buffer;
-             Evas_Native_Surface ns;
-             tdm_info_layer info;
-             tdm_error err = TDM_ERROR_NONE;
-
-             layer = ulayer->tlayer;
-
-             buffer = tdm_layer_get_displaying_buffer(layer, NULL);
-             if (!buffer) continue;
-
-             err = tdm_layer_get_info(layer, &info);
-             if (err != TDM_ERROR_NONE) continue;
-
-             if (info.dst_pos.w <= 0 || info.dst_pos.h <= 0)
-               continue;
-
-             img = evas_object_image_filled_add(e_comp->evas);
-             if (!img) continue;
-
-             memset(&ns, 0, sizeof(Evas_Native_Surface));
-             ns.version = EVAS_NATIVE_SURFACE_VERSION;
-             ns.type = EVAS_NATIVE_SURFACE_TBM;
-             ns.data.tbm.buffer = buffer;
-
-             evas_object_image_size_set(img, info.dst_pos.w, info.dst_pos.h);
-             evas_object_image_native_surface_set(img, &ns);
-             evas_object_image_pixels_dirty_set(img, EINA_TRUE);
-
-             if (!underlay)
-               {
-                  Evas_Object *bg;
-
-                  underlay = e_layout_add(e_comp->evas);
-                  if (!underlay)
-                    {
-                       evas_object_del(img);
-                       return NULL;
-                    }
-
-                  evas_object_name_set(underlay, "effect-under-layout");
-                  e_layout_virtual_size_set(underlay, zone->w, zone->h);
-                  evas_object_move(underlay, zone->x, zone->y);
-
-                  bg = evas_object_rectangle_add(e_comp->evas);
-                  evas_object_color_set(bg, 0, 0, 0, 255);
-                  e_layout_pack(underlay, bg);
-                  e_layout_child_move(bg, 0, 0);
-                  e_layout_child_resize(bg, zone->w, zone->h);
-                  evas_object_show(bg);
-               }
-
-             e_layout_pack(underlay, img);
-             e_layout_child_move(img, info.dst_pos.x, info.dst_pos.y);
-             e_layout_child_resize(img, info.dst_pos.w, info.dst_pos.h);
-             e_layout_child_raise(img);
-             evas_object_show(img);
-
-             EFFDBG("Video Object Created img(%p) %d,%d %dx%d underlay(%p)",
-                    ec,
-                    img, info.dst_pos.x, info.dst_pos.y, info.dst_pos.w, info.dst_pos.h,
-                    underlay);
-          }
-     }
-
-   return underlay;
-}
-
 static void
 _eff_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type)
 {
@@ -389,48 +231,6 @@ _eff_object_under_cb_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void
    efc->under_ref = 0;
 }
 
-static void
-_eff_object_under_setup(E_Client *ec)
-{
-   E_Effect_Client *efc = NULL;
-   Evas_Object *underlay = NULL;
-
-   efc = _eff_client_get(ec);
-   if (!efc) return;
-
-   if (efc->under)
-     {
-        efc->under_ref ++;
-     }
-   else if ((underlay = _eff_object_underlayer_get(ec)))
-     {
-        Eina_List *children;
-        Evas_Object *child;
-
-        if (e_comp_object_effect_object_part_swallow(ec->frame, "under", underlay))
-          {
-             evas_object_event_callback_add(underlay,
-                                            EVAS_CALLBACK_DEL,
-                                            _eff_object_under_cb_del,
-                                            efc);
-             evas_object_show(underlay);
-             efc->under = underlay;
-             efc->under_ref ++;
-          }
-        else
-          {
-             children = e_layout_children_get(underlay);
-             EINA_LIST_FREE(children, child)
-               {
-                  e_layout_unpack(child);
-                  evas_object_del(child);
-               }
-
-             evas_object_del(underlay);
-          }
-     }
-}
-
 static void
 _eff_object_under_del(E_Client *ec)
 {
@@ -980,7 +780,6 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal)
    ec->extra_animating = EINA_TRUE;
 
    _eff_object_setup(ec, group);
-   _eff_object_under_setup(ec);
 
    ang = _eff_group_angle_get(ec, group);
    e_view_client_effect_params_set(e_client_view_get(ec), 0, (int[]){0, ang}, 2);
@@ -1089,7 +888,6 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal)
      _eff_object_layer_up(ec);
 
    _eff_object_setup(ec, group);
-   _eff_object_under_setup(ec);
 
    ang = _eff_group_angle_get(ec, group);
    e_view_client_effect_params_set(e_client_view_get(ec), 0, (int[]){1, ang}, 2);
@@ -1207,7 +1005,6 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal)
           }
 
         _eff_object_setup(ec, group);
-        _eff_object_under_setup(ec);
 
         ang = _eff_group_angle_get(ec, group);
         e_view_client_effect_params_set(e_client_view_get(ec), 0, (int[]){0, ang}, 2);
@@ -1297,7 +1094,6 @@ _eff_cb_iconify(void *data, Evas_Object *obj, const char *signal)
      }
 
    _eff_object_setup(ec, group);
-   _eff_object_under_setup(ec);
 
    ang = _eff_group_angle_get(ec, group);
    e_view_client_effect_params_set(e_client_view_get(ec), 0, (int[]){1, ang}, 2);
@@ -1473,7 +1269,6 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
         ec->extra_animating = EINA_TRUE;
 
         _eff_object_setup(ec, group);
-        _eff_object_under_setup(ec);
 
         ang = _eff_group_angle_get(ec, group);
         e_view_client_effect_params_set(e_client_view_get(ec), 0, (int[]){2, ang}, 2);
@@ -1531,7 +1326,6 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
         _eff_object_layer_up(ec);
 
         _eff_object_setup(ec, group);
-        _eff_object_under_setup(ec);
 
         ang = _eff_group_angle_get(ec, group);
         e_view_client_effect_params_set(e_client_view_get(ec), 0, (int[]){3, ang}, 2);
@@ -1564,7 +1358,6 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
           }
 
         _eff_object_setup(ec, group);
-        _eff_object_under_setup(ec);
 
         ang = _eff_group_angle_get(ec, group);
         e_view_client_effect_params_set(e_client_view_get(ec), 0, (int[]){4, ang}, 2);