e_client: Impl encapsulation functions 10/322210/2
authorTaeHyeon Jeong <thyeon.jeong@samsung.com>
Fri, 4 Apr 2025 08:33:09 +0000 (17:33 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 7 Apr 2025 01:28:01 +0000 (01:28 +0000)
Implement following funcs to reoder transform_list:
- e_client_transform_core_prepend_to_reorder()

Implement following funcs to get/set member:
- e_client_saved_geometry_set()
- e_client_saved_geometry_get()
- e_client_manage_resize_pos_set()
- e_client_manage_resize_pos_get()
- e_client_manage_resize_size_set()
- e_client_manage_resize_size_get()

Implement following funcs for manage_resize:
- e_client_manage_resize_obj_del()
- e_client_manage_resize_obj_check()

Change-Id: I207adc9d8f1b24fc3161d821f4ce70918eb4f3e7

src/bin/core/e_client.c
src/include/e_client.h

index 38a89fe6b2401ca73c3065efbb990874363aeb0d..62f243c1777b9e15544b7dd3f30daa98e0fc7ceb 100644 (file)
@@ -4699,6 +4699,17 @@ e_client_transform_core_add(E_Client *ec, E_Util_Transform *transform)
   // e_client_transform_core_update(ec);
 }
 
+E_API void
+e_client_transform_core_prepend_to_reorder(E_Client *ec, E_Util_Transform *transform, E_Util_Transform *relative_transform)
+{
+   if (!ec) return;
+   if (!transform) return;
+   if (!ec->transform_core.transform_list) return;
+
+   ec->transform_core.transform_list = eina_list_remove(ec->transform_core.transform_list, transform);
+   ec->transform_core.transform_list = eina_list_prepend_relative(ec->transform_core.transform_list, transform, relative_transform);
+}
+
 E_API void
 e_client_transform_core_remove(E_Client *ec, E_Util_Transform *transform)
 {
@@ -7085,6 +7096,77 @@ e_client_layout_geometry_get(E_Client *ec, int *x, int *y, unsigned int *w, unsi
    return EINA_TRUE;
 }
 
+E_API void
+e_client_saved_geometry_set(E_Client *ec, int x, int y, int w, int h)
+{
+   if (!ec) return;
+
+   ec->saved.x = x;
+   ec->saved.y = y;
+   ec->saved.w = w;
+   ec->saved.h = h;
+}
+
+E_API void
+e_client_saved_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h)
+{
+   if (!ec) return;
+
+   if (x) *x = ec->saved.x;
+   if (y) *y = ec->saved.y;
+   if (w) *w = ec->saved.w;
+   if (h) *h = ec->saved.h;
+}
+
+E_API void
+e_client_manage_resize_pos_set(E_Client *ec, int x, int y)
+{
+   if (!ec) return;
+
+   ec->manage_resize.x = x;
+   ec->manage_resize.y = y;
+}
+
+E_API void
+e_client_manage_resize_pos_get(E_Client *ec, int *x, int *y)
+{
+   if (!ec) return;
+
+   if(x) *x = ec->manage_resize.x;
+   if(y) *y = ec->manage_resize.y;
+}
+
+E_API void
+e_client_manage_resize_size_set(E_Client *ec, int w, int h)
+{
+   if(!ec) return;
+
+   ec->manage_resize.w = w;
+   ec->manage_resize.h = h;
+}
+
+E_API void
+e_client_manage_resize_size_get(E_Client *ec, int *w, int *h)
+{
+   if (!ec) return;
+
+   if(w) *w = ec->manage_resize.w;
+   if(h) *h = ec->manage_resize.h;
+}
+
+E_API void
+e_client_manage_resize_obj_del(E_Client *ec)
+{
+   _e_client_resize_object_del(ec);
+}
+
+E_API Eina_Bool
+e_client_manage_resize_obj_check(E_Client *ec)
+{
+   if ((ec) && (ec->manage_resize.resize_obj)) return EINA_TRUE;
+   return EINA_FALSE;
+}
+
 E_API int
 e_client_client_type_get(E_Client *ec)
 {
@@ -7523,6 +7605,13 @@ e_client_icccm_take_focus_get(E_Client *ec)
    return ec->icccm.take_focus;
 }
 
+E_API Eina_Bool
+e_client_icccm_fetch_transient_for_get(E_Client *ec)
+{
+   if (!ec) return EINA_FALSE;
+   return ec->icccm.fetch.transient_for;
+}
+
 E_API void
 e_client_icccm_window_role_set(E_Client *ec, const char *role)
 {
@@ -7784,6 +7873,12 @@ e_client_post_raise_get(E_Client *ec)
    return ec->post_raise;
 }
 
+E_API void
+e_client_placed_set(E_Client *ec, Eina_Bool placed)
+{
+   if (ec) ec->placed = placed;
+}
+
 E_API Eina_Bool
 e_client_placed_get(E_Client *ec)
 {
@@ -7991,6 +8086,12 @@ e_client_splash_use_get(E_Client *ec)
    return ec->use_splash;
 }
 
+E_API void
+e_client_splash_use_set(E_Client *ec, Eina_Bool use_splash)
+{
+   if (ec) ec->use_splash = use_splash;
+}
+
 E_API Eina_Bool
 e_client_user_skip_add_to_winlist_get(E_Client *ec)
 {
index df0006c5fcc127a5175e357ddd90682e5e52f9bf..9b0173ad7d84045e046e2bcec98e2d1e0eca2f73 100644 (file)
@@ -979,6 +979,7 @@ E_API void                     e_client_intercept_hook_del(E_Client_Intercept_Ho
 
 E_API Eina_Bool         e_client_transform_core_enable_get(E_Client *ec);
 E_API void              e_client_transform_core_add(E_Client *ec, E_Util_Transform *transform);
+E_API void              e_client_transform_core_prepend_to_reorder(E_Client *ec, E_Util_Transform *transform, E_Util_Transform *relative_transform);
 E_API void              e_client_transform_core_remove(E_Client *ec, E_Util_Transform *transform);
 E_API void              e_client_transform_core_update(E_Client *ec);
 E_API int               e_client_transform_core_transform_count_get(E_Client *ec);
@@ -1113,6 +1114,15 @@ E_API Eina_Bool e_client_client_geometry_get(E_Client *ec, int *x, int *y, int *
 E_API Eina_Bool e_client_layout_geometry_get(E_Client *ec, int *x, int *y, unsigned int *w, unsigned int *h);
 E_API int       e_client_client_type_get(E_Client *ec);
 
+E_API void      e_client_saved_geometry_set(E_Client *ec, int x, int y, int w, int h);
+E_API void      e_client_saved_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
+E_API void      e_client_manage_resize_pos_set(E_Client *ec, int x, int y);
+E_API void      e_client_manage_resize_pos_get(E_Client *ec, int *x, int *y);
+E_API void      e_client_manage_resize_size_set(E_Client *ec, int w, int h);
+E_API void      e_client_manage_resize_size_get(E_Client *ec, int *w, int *h);
+E_API void      e_client_manage_resize_obj_del(E_Client *ec);
+E_API Eina_Bool e_client_manage_resize_obj_check(E_Client *ec);
+
 E_API void      e_client_e_fetch_rot_available_rots_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool e_client_e_fetch_rot_available_rots_get(E_Client *ec);
 E_API void      e_client_e_fetch_rot_need_rotation_set(E_Client *ec, Eina_Bool set);
@@ -1180,6 +1190,7 @@ E_API void              e_client_icccm_accepts_focus_set(E_Client *ec, Eina_Bool
 E_API Eina_Bool         e_client_icccm_accepts_focus_get(E_Client *ec);
 E_API void              e_client_icccm_take_focus_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool         e_client_icccm_take_focus_get(E_Client *ec);
+E_API Eina_Bool         e_client_icccm_fetch_transient_for_get(E_Client *ec);
 E_API void              e_client_icccm_window_role_set(E_Client *ec, const char *role);
 E_API Eina_Stringshare *e_client_icccm_window_role_get(E_Client *ec);
 
@@ -1227,6 +1238,7 @@ E_API void      e_client_post_lower_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool e_client_post_lower_get(E_Client *ec);
 E_API void      e_client_post_raise_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool e_client_post_raise_get(E_Client *ec);
+E_API void      e_client_placed_set(E_Client *ec, Eina_Bool placed);
 E_API Eina_Bool e_client_placed_get(E_Client *ec);
 E_API Eina_Bool e_client_sticky_state_get(E_Client *ec);
 E_API void      e_client_visible_set(E_Client *ec, Eina_Bool set);
@@ -1262,6 +1274,7 @@ E_API void        e_client_transient_child_append(E_Client *ec, E_Client *child)
 E_API void        e_client_transient_child_remove(E_Client *ec, E_Client *child);
 
 E_API Eina_Bool e_client_splash_use_get(E_Client *ec);
+E_API void      e_client_splash_use_set(E_Client *ec, Eina_Bool use_splash);
 E_API Eina_Bool e_client_user_skip_add_to_winlist_get(E_Client *ec);
 
 E_API Eina_Bool    e_client_visibility_changed_get(E_Client *ec);