e_view_client: use E_View_Client_Image_Filter 83/325583/1
authorSooChan Lim <sc1.lim@samsung.com>
Wed, 11 Jun 2025 07:17:15 +0000 (16:17 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 12 Jun 2025 08:56:33 +0000 (17:56 +0900)
instead of E_Comp_Image_Filter

Change-Id: I12e90035d408d6cd07f95546644a3431fa9016a8

src/bin/compmgr/e_comp.c
src/bin/core/e_view_client.c
src/bin/core/e_view_client_intern.h
src/bin/displaymgr/e_hwc_window.c

index 516e9fe563551ed166a71d5730f68394c4c1ce10..70f699d962922b33fc1b7e643edd9895452dddb2 100644 (file)
@@ -1236,6 +1236,31 @@ e_comp_util_client_is_fullscreen(const E_Client *ec)
        );
 }
 
+EINTERN E_View_Client_Image_Filter
+_e_comp_image_view_client_filter_get(E_Comp_Image_Filter filter)
+{
+   switch (filter)
+   {
+     case E_COMP_IMAGE_FILTER_BLUR:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_BLUR;
+       break;
+     case E_COMP_IMAGE_FILTER_GRAYSCALE:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_GRAYSCALE;
+       break;
+     case E_COMP_IMAGE_FILTER_INVERSE:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_INVERSE;
+       break;
+     case E_COMP_IMAGE_FILTER_EDGE_DETECTION:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_EDGE_DETECTION;
+       break;
+     default:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_NONE;
+       break;
+   }
+
+   return filter;
+}
+
 E_API Eina_Bool
 e_comp_image_filter_set(E_Comp_Image_Filter filter)
 {
@@ -1251,7 +1276,7 @@ e_comp_image_filter_set(E_Comp_Image_Filter filter)
      E_ZONE_CLIENT_FOREACH(zone, ec)
        {
           view_client = e_client_view_get(ec);
-          e_view_client_image_filter_set(view_client, filter);
+          e_view_client_image_filter_set(view_client, _e_comp_image_view_client_filter_get(filter));
           e_view_client_damage(view_client, 0, 0, ec->w, ec->h);
           e_view_client_dirty(view_client);
           e_view_client_render(view_client);
index 7f2ccab1dd1e3fbae5d2d6ce3b3a73853aff769c..6e450dddd185cebae6bd16ccd773fc67d7e110df 100644 (file)
@@ -729,19 +729,61 @@ e_view_client_focus_get(E_View_Client *client)
 }
 
 EINTERN bool
-e_view_client_image_filter_set(E_View_Client *client, E_Comp_Image_Filter filter)
+e_view_client_image_filter_set(E_View_Client *client, E_View_Client_Image_Filter filter)
 {
+   E_Comp_Image_Filter comp_filter;
+
    if (client == NULL) return false;
 
-   return e_comp_object_image_filter_set(client->view.eo, filter);
+   switch (filter)
+     {
+       case E_VIEW_CLIENT_IMAGE_FILTER_BLUR:
+         comp_filter = E_COMP_IMAGE_FILTER_BLUR;
+         break;
+       case E_VIEW_CLIENT_IMAGE_FILTER_GRAYSCALE:
+         comp_filter = E_COMP_IMAGE_FILTER_GRAYSCALE;
+         break;
+       case E_VIEW_CLIENT_IMAGE_FILTER_INVERSE:
+         comp_filter = E_COMP_IMAGE_FILTER_INVERSE;
+         break;
+       case E_VIEW_CLIENT_IMAGE_FILTER_EDGE_DETECTION:
+         comp_filter = E_COMP_IMAGE_FILTER_EDGE_DETECTION;
+         break;
+       default:
+         comp_filter = E_COMP_IMAGE_FILTER_NONE;
+         break;
+     }
+
+     return e_comp_object_image_filter_set(client->view.eo, comp_filter);
 }
 
-EINTERN E_Comp_Image_Filter
+EINTERN E_View_Client_Image_Filter
 e_view_client_image_filter_get(E_View_Client *client)
 {
+   E_View_Client_Image_Filter filter;
+
    if (client == NULL) return E_COMP_IMAGE_FILTER_NONE;
 
-   return e_comp_object_image_filter_get(client->view.eo);
+   switch (e_comp_object_image_filter_get(client->view.eo))
+   {
+     case E_COMP_IMAGE_FILTER_BLUR:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_BLUR;
+       break;
+     case E_COMP_IMAGE_FILTER_GRAYSCALE:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_GRAYSCALE;
+       break;
+     case E_COMP_IMAGE_FILTER_INVERSE:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_INVERSE;
+       break;
+     case E_COMP_IMAGE_FILTER_EDGE_DETECTION:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_EDGE_DETECTION;
+       break;
+     default:
+       filter = E_VIEW_CLIENT_IMAGE_FILTER_NONE;
+       break;
+   }
+
+   return filter;
 }
 
 EINTERN void
index cda898c93418c488832620546cdf763697798e99..739cdc10dfc6c6f492837853c86bc5fc79558bcd 100644 (file)
@@ -10,6 +10,15 @@ extern "C" {
 
 #define TEMPORARY_CIRCULAR_REF_CLIENT 1
 
+typedef enum _E_View_Client_Image_Filter
+{
+   E_VIEW_CLIENT_IMAGE_FILTER_NONE = 0,
+   E_VIEW_CLIENT_IMAGE_FILTER_BLUR,
+   E_VIEW_CLIENT_IMAGE_FILTER_GRAYSCALE,
+   E_VIEW_CLIENT_IMAGE_FILTER_INVERSE,
+   E_VIEW_CLIENT_IMAGE_FILTER_EDGE_DETECTION,
+} E_View_Client_Image_Filter;
+
 E_View_Client *e_view_client_create(E_Client *ec, E_View_Tree *parent);
 void e_view_client_render_update_del(E_View_Client *view_client);
 bool e_view_client_alpha_get(E_View_Client *client);
@@ -36,8 +45,8 @@ bool e_view_client_frame_exists(E_View_Client *client);
 bool e_view_client_frame_theme_set(E_View_Client *client, const char *name);
 void e_view_client_focus_set(E_View_Client *client, bool focus);
 bool e_view_client_focus_get(E_View_Client *client);
-bool e_view_client_image_filter_set(E_View_Client *client, E_Comp_Image_Filter filter);
-E_Comp_Image_Filter e_view_client_image_filter_get(E_View_Client *client);
+bool e_view_client_image_filter_set(E_View_Client *client, E_View_Client_Image_Filter filter);
+E_View_Client_Image_Filter e_view_client_image_filter_get(E_View_Client *client);
 void e_view_client_size_hint_max_get(E_View_Client *client, int *width, int *height);
 void e_view_client_size_hint_min_get(E_View_Client *client, int *width, int *height);
 void e_view_client_size_hint_padding_get(E_View_Client *client, int *l, int *r, int *t, int *b);
index f3a696b1be722e67e93faf383a8b5b9139a6fe0d..8f8e7e00db825090a1485852a564c7a5c9dab01c 100644 (file)
@@ -934,7 +934,7 @@ _e_hwc_window_cb_image_filter_set(struct wl_listener *listener, void *data)
    hwc_window = container_of(listener, E_Hwc_Window, image_filter_set_listener);
    if (!hwc_window->ec) return;
 
-   if (e_view_client_image_filter_get(e_client_view_get(hwc_window->ec)) != E_COMP_IMAGE_FILTER_NONE)
+   if (e_view_client_image_filter_get(e_client_view_get(hwc_window->ec)) != E_VIEW_CLIENT_IMAGE_FILTER_NONE)
      e_hwc_window_restriction_set(hwc_window, E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER);
    else
      e_hwc_window_restriction_unset(hwc_window, E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER);
@@ -1110,7 +1110,7 @@ _e_hwc_window_restriction_init(E_Hwc_Window *hwc_window)
 
    if (!hwc_window->ec) return;
 
-   if (e_view_client_image_filter_get(e_client_view_get(hwc_window->ec)) != E_COMP_IMAGE_FILTER_NONE)
+   if (e_view_client_image_filter_get(e_client_view_get(hwc_window->ec)) != E_VIEW_CLIENT_IMAGE_FILTER_NONE)
      e_hwc_window_restriction_set(hwc_window, E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER);
    else
      e_hwc_window_restriction_unset(hwc_window, E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER);