e_blur: fix bug for blur_behind_dim and change type of config_getter 41/325141/1
authorhojoon-ryou <hojoon.ryou@samsung.com>
Thu, 22 May 2025 12:24:58 +0000 (21:24 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 4 Jun 2025 03:47:47 +0000 (12:47 +0900)
Change-Id: I68ce81342c4c55fa407471e21c1dfcbfc220df62

src/bin/server/e_blur.c
src/include/e_blur.h

index b1d2355fd4cac6c5240148bd2831696bfa3e6977..c237ca2f00aba872171832da4cff17d238d3cfc0 100644 (file)
@@ -1367,6 +1367,7 @@ e_blur_dim_config_set(E_Blur_Dim_Config *dim_config)
    E_Blur_Behind *blur_behind;
    E_Blur_Rectangle *blur_rectangle;
    Eina_List *l, *ll;
+   int comp_w = 0, comp_h = 0;
 
    current_dim_config->enabled = dim_config->enabled;
    current_dim_config->color.r = dim_config->color.r;
@@ -1410,6 +1411,7 @@ e_blur_dim_config_set(E_Blur_Dim_Config *dim_config)
          }
      }
 
+   e_comp_size_get(&comp_w, &comp_h);
    EINA_LIST_FOREACH(_blur_manager->blurs_behind, l, blur_behind)
      {
         view_client = e_client_view_get(blur_behind->ec);
@@ -1428,7 +1430,8 @@ e_blur_dim_config_set(E_Blur_Dim_Config *dim_config)
                   if (blur_rectangle->corner_radius_image)
                     e_view_clip_set(e_view_rect_view_get(blur_rectangle->dim_rect),
                                     e_view_image_view_get(blur_rectangle->corner_radius_image));
-                  _e_blur_rectangle_geometry_set(blur_rectangle, blur_behind->ec);
+                  e_view_position_set(e_view_rect_view_get(blur_rectangle->dim_rect), 0, 0);
+                  e_view_rect_size_set(blur_rectangle->dim_rect, comp_w, comp_h);
                   if (blur_behind->enabled) _e_blur_rectangle_show(blur_rectangle);
                }
              e_view_rect_color_set(blur_rectangle->dim_rect,
@@ -1444,10 +1447,11 @@ e_blur_dim_config_set(E_Blur_Dim_Config *dim_config)
    return EINA_TRUE;
 }
 
-E_API E_Blur_Dim_Config *
-e_blur_dim_config_get(void)
+E_API void
+e_blur_dim_config_get(E_Blur_Dim_Config *dim_config)
 {
-   EINA_SAFETY_ON_NULL_RETURN_VAL(_blur_manager, NULL);
+   EINA_SAFETY_ON_NULL_RETURN(dim_config);
+   EINA_SAFETY_ON_NULL_RETURN(_blur_manager);
 
-   return _blur_manager->configs.dim_config;
+   *dim_config = *_blur_manager->configs.dim_config;
 }
index b5c7b07688451f20ac6370cc9ba8b5a48fd78285..1ca47bb3d40c78de5b2811fdc4747ab9ba46555a 100644 (file)
@@ -21,7 +21,7 @@ struct _E_Blur_Dim_Config
 };
 
 E_API Eina_Bool e_blur_dim_config_set(E_Blur_Dim_Config *dim_config);
-E_API E_Blur_Dim_Config *e_blur_dim_config_get(void);
+E_API void e_blur_dim_config_get(E_Blur_Dim_Config *dim_config);
 
 #ifdef  __cplusplus
 }