e_output: Disable capture mask 49/309549/2
authorJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 12 Apr 2024 02:03:36 +0000 (11:03 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 12 Apr 2024 07:14:16 +0000 (07:14 +0000)
erase unused capture mask related code.
e_output_stream_capture_mask_image_file_set
e_output_stream_capture_mask_image_geometry_set

Change-Id: I044e830c0360be5353f916e88e83aca24d3d4f21

src/bin/e_output.c
src/bin/e_output_intern.h

index 894c741..ad34fb7 100644 (file)
@@ -47,7 +47,6 @@
 
 typedef struct _E_Output_Capture E_Output_Capture;
 typedef struct _E_Output_Layer E_Output_Layer;
-typedef struct _E_Output_Stream_Capture_Mask_Data E_Output_Stream_Capture_Mask_Data;
 
 struct _E_Output_Capture
 {
@@ -66,13 +65,6 @@ struct _E_Output_Layer
    int zpos;
 };
 
-struct _E_Output_Stream_Capture_Mask_Data
-{
-   Evas_Object *eo;
-   Eina_Stringshare *file;
-   Eina_Rectangle geometry;
-};
-
 static int _e_output_hooks_delete = 0;
 static int _e_output_hooks_walking = 0;
 
@@ -96,20 +88,10 @@ static Eina_Inlist *_e_output_intercept_hooks[] =
    [E_OUTPUT_INTERCEPT_HOOK_DPMS_OFF] = NULL,
 };
 
-/* Use hash mechanism to avoid ABI break.
- * It can be widely used like private data for E_Output, if there will be need
- * for more use case.*/
-static Eina_Hash *_mask_data_hash = NULL;
-
 static Eina_Bool _e_output_capture(E_Output *output, tbm_surface_h tsurface, Eina_Bool auto_rotate);
 static void _e_output_vblank_handler(tdm_output *output, unsigned int sequence,
                                      unsigned int tv_sec, unsigned int tv_usec, void *data);
 
-static E_Output_Stream_Capture_Mask_Data *_e_output_stream_capture_mask_data_get(E_Output *output);
-static void _e_output_stream_capture_mask_data_hash_cb_data_free(void *data);
-static void _e_output_stream_capture_mask_image_activate(E_Output *output);
-static void _e_output_stream_capture_mask_image_deactivate(E_Output *output);
-
 static inline void
 _e_output_display_mode_set(E_Output *output, E_Output_Display_Mode display_mode)
 {
@@ -986,16 +968,12 @@ _e_output_update_fps()
 EINTERN Eina_Bool
 e_output_init(void)
 {
-   _mask_data_hash =
-      eina_hash_pointer_new(_e_output_stream_capture_mask_data_hash_cb_data_free);
-
    return EINA_TRUE;
 }
 
 EINTERN void
 e_output_shutdown(void)
 {
-   E_FREE_FUNC(_mask_data_hash, eina_hash_free);
 }
 
 static char *
@@ -2520,8 +2498,6 @@ e_output_del(E_Output *output)
 
    EINA_LIST_FREE(output->planes, plane) e_plane_free(plane);
 
-   eina_hash_del_by_key(_mask_data_hash, &output);
-
    free(output);
 }
 
@@ -3777,8 +3753,6 @@ e_output_stream_capture_start(E_Output *output)
 
    output->stream_capture.start = EINA_TRUE;
 
-   _e_output_stream_capture_mask_image_activate(output);
-
    if (output->stream_capture.possible_tdm_capture)
      {
         if (e_output_dpms_get(output))
@@ -3820,8 +3794,6 @@ e_output_stream_capture_stop(E_Output *output)
    output->stream_capture.start = EINA_FALSE;
    output->stream_capture.auto_rotate = EINA_FALSE;
 
-   _e_output_stream_capture_mask_image_deactivate(output);
-
    if (!output->stream_capture.possible_tdm_capture)
      e_video_debug_display_primary_plane_set(EINA_FALSE);
 
@@ -4274,171 +4246,6 @@ e_output_property_set(E_Output *output, unsigned int id, output_prop_value value
    return EINA_TRUE;
 }
 
-EINTERN Eina_Bool
-e_output_stream_capture_mask_image_file_set(E_Output *output, const char *file)
-{
-   E_Output_Stream_Capture_Mask_Data *md;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-
-   EOINF("set mask image file for stream capture : %s", output, file);
-
-   md = _e_output_stream_capture_mask_data_get(output);
-   if (!md)
-     {
-        EOERR("failed to get mask data", output);
-        return EINA_FALSE;
-     }
-
-   if (eina_streq(md->file, file))
-     return EINA_TRUE;
-
-   eina_stringshare_replace(&md->file, file);
-
-   if (output->stream_capture.start)
-     {
-        _e_output_stream_capture_mask_image_deactivate(output);
-
-        if (md->file)
-          _e_output_stream_capture_mask_image_activate(output);
-     }
-
-   return EINA_TRUE;
-}
-
-EINTERN Eina_Bool
-e_output_stream_capture_mask_image_geometry_set(E_Output *output, int x, int y, int w, int h)
-{
-   E_Output_Stream_Capture_Mask_Data *md;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(w > 0, EINA_FALSE);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(h > 0, EINA_FALSE);
-
-   EOINF("set geometry of mask image object: %d,%d (%dx%d)",
-         output, x, y, w, h);
-
-   md = _e_output_stream_capture_mask_data_get(output);
-   if (!md)
-     {
-        EOERR("failed to get mask data", output);
-        return EINA_FALSE;
-     }
-
-   EINA_RECTANGLE_SET(&md->geometry, x, y, w, h);
-
-   if (output->stream_capture.start)
-     {
-        if (md->eo)
-          evas_object_geometry_set(md->eo, x, y, w, h);
-     }
-
-   return EINA_TRUE;
-}
-
-static void
-_e_output_stream_capture_mask_data_hash_cb_data_free(void *data)
-{
-   E_Output_Stream_Capture_Mask_Data *md;
-
-   md = data;
-
-   E_FREE_FUNC(md->eo, evas_object_del);
-   E_FREE_FUNC(md->file, eina_stringshare_del);
-
-   free(md);
-}
-
-static E_Output_Stream_Capture_Mask_Data *
-_e_output_stream_capture_mask_data_get(E_Output *output)
-{
-   E_Output_Stream_Capture_Mask_Data *md;
-
-   md = eina_hash_find(_mask_data_hash, &output);
-   if (!md)
-     {
-        md = E_NEW(E_Output_Stream_Capture_Mask_Data, 1);
-        if (!md)
-          {
-             EOERR("failed to alloc memory for mask data", output);
-             return NULL;
-          }
-
-        md->geometry.w = 1;
-        md->geometry.h = 1;
-
-        eina_hash_add(_mask_data_hash, &output, md);
-     }
-
-   return md;
-}
-
-static void
-_e_output_stream_capture_mask_image_activate(E_Output *output)
-{
-   E_Output_Stream_Capture_Mask_Data *md;
-   Evas_Object *eo;
-   Evas_Load_Error err;
-
-   md = eina_hash_find(_mask_data_hash, &output);
-   if (!md)
-     {
-        /* It can be null if any api for mask image is not called. */
-        EOINF("not found mask data", output);
-        return;
-     }
-
-   if (!md->file)
-     {
-        EOINF("no file name for mask image", output);
-        return;
-     }
-
-   if (md->eo)
-     {
-        EOERR("mask image object is already exist.", output);
-        return;
-     }
-
-   eo = evas_object_image_filled_add(e_comp->evas);
-
-   evas_object_image_file_set(eo, md->file, NULL);
-   err = evas_object_image_load_error_get(eo);
-   if (err != EVAS_LOAD_ERROR_NONE)
-     {
-        EOERR("failed to load image %s : %s", output,
-              md->file, evas_load_error_str(err));
-        evas_object_del(eo);
-        return;
-     }
-
-   evas_object_geometry_set(eo,
-                            md->geometry.x, md->geometry.y,
-                            md->geometry.w, md->geometry.h);
-
-   evas_object_pass_events_set(eo, EINA_TRUE);
-   evas_object_layer_set(eo, EVAS_LAYER_MAX);
-   evas_object_raise(eo);
-   evas_object_show(eo);
-
-   md->eo = eo;
-}
-
-static void
-_e_output_stream_capture_mask_image_deactivate(E_Output *output)
-{
-   E_Output_Stream_Capture_Mask_Data *md;
-
-   md = eina_hash_find(_mask_data_hash, &output);
-   if (!md)
-     {
-        EOINF("not found mask data", output);
-        return;
-     }
-
-   E_FREE_FUNC(md->eo, evas_object_del);
-}
-
 E_API Eina_Bool
 e_output_mode_enabled_get(E_Output *output)
 {
index b17bdea..233d0e2 100644 (file)
@@ -79,8 +79,6 @@ EINTERN Eina_Bool         e_output_stream_capture_dequeue(E_Output *output, tbm_
 EINTERN Eina_Bool         e_output_stream_capture_start(E_Output *output);
 EINTERN void              e_output_stream_capture_stop(E_Output *output);
 EINTERN void              e_output_stream_capture_autorotate(E_Output *output, Eina_Bool auto_rotate);
-EINTERN Eina_Bool         e_output_stream_capture_mask_image_file_set(E_Output *output, const char *file);
-EINTERN Eina_Bool         e_output_stream_capture_mask_image_geometry_set(E_Output *output, int x, int y, int w, int h);
 
 EINTERN Eina_Bool         e_output_external_mode_change(E_Output *output, E_Output_Mode *mode);
 EINTERN Eina_Bool         e_output_mirror_set(E_Output *output, E_Output *src_output);