e_client: make an internal header 44/305044/1
authorSooChan Lim <sc1.lim@samsung.com>
Tue, 23 Jan 2024 11:59:59 +0000 (20:59 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 26 Jan 2024 00:59:23 +0000 (09:59 +0900)
Move the internal resources and the function declaration
to the internal header

Change-Id: Id4047d7c0e1f233570d72af8bd59b83065badc4f

34 files changed:
src/bin/e_actions.c
src/bin/e_blender.c
src/bin/e_client.h
src/bin/e_client_intern.h
src/bin/e_comp_canvas.c
src/bin/e_comp_object.c
src/bin/e_comp_wl_subsurface.c
src/bin/e_compositor.c
src/bin/e_desk.c
src/bin/e_desk_area.c
src/bin/e_explicit_sync.c
src/bin/e_hwc_planes.c
src/bin/e_hwc_window.c
src/bin/e_hwc_window_queue.c
src/bin/e_hwc_windows.c
src/bin/e_info_server.c
src/bin/e_keyrouter_wl.c
src/bin/e_main.c
src/bin/e_plane.c
src/bin/e_plane_renderer.c
src/bin/e_pointer.c
src/bin/e_policy.c
src/bin/e_policy_stack.c
src/bin/e_policy_visibility.c
src/bin/e_presentation_time.c
src/bin/e_test_helper.c
src/bin/e_xdg_shell_v6.c
src/bin/services/e_service_cbhm.c
src/bin/services/e_service_launcher.c
src/bin/services/e_service_lockscreen.c
src/bin/services/e_service_quickpanel.c
src/bin/services/e_service_scrsaver.c
src/bin/services/e_service_taskbar.c
src/bin/services/e_service_volume.c

index da984b9..3a4de64 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "e_actions_intern.h"
 #include "e_utils_intern.h"
+#include "e_client_intern.h"
 
 #define INITS
 
index 15ca899..ec6c453 100644 (file)
@@ -1,5 +1,6 @@
 #include "e.h"
 #include "e_blender_intern.h"
+#include "e_client_intern.h"
 
 #include <wtz-blender-server-protocol.h>
 
index ec20c9a..87f8715 100644 (file)
@@ -1075,101 +1075,76 @@ E_API extern int E_EVENT_CLIENT_BUFFER_CHANGE;
 E_API extern int E_EVENT_CLIENT_FOCUS_SKIP_SET;
 E_API extern int E_EVENT_CLIENT_FOCUS_SKIP_UNSET;
 
-EINTERN void e_client_idler_before(Eina_Bool *check_focus);
-EINTERN Eina_Bool e_client_init(void);
-EINTERN void e_client_shutdown(void);
-E_API E_Client *e_client_from_surface_resource(struct wl_resource *surface_resource);
 E_API E_Client *e_client_new(E_Pixmap *cp, int first_map, int internal);
-E_API Eina_Bool e_client_is_internal(E_Client *ec);
-E_API void e_client_unignore(E_Client *ec);
-EINTERN void e_client_desk_iconify_skip_set(E_Client *ec, Eina_Bool skip);
-EINTERN Eina_Bool e_client_desk_iconify_skip_get(E_Client *ec);
-EINTERN Eina_Bool e_client_comp_grabbed_get(void);
-EINTERN E_Client *e_client_action_get(void);
-EINTERN void e_client_mouse_in(E_Client *ec, int x, int y);
-EINTERN void e_client_mouse_out(E_Client *ec, int x, int y);
-EINTERN void e_client_mouse_wheel(E_Client *ec, Evas_Point *output, E_Binding_Event_Wheel *ev);
-EINTERN void e_client_mouse_down(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button *ev);
-EINTERN void e_client_mouse_up(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button* ev);
-EINTERN void e_client_mouse_move(E_Client *ec, Evas_Point *output);
-EINTERN void e_client_res_change_geometry_save(E_Client *bd);
-EINTERN void e_client_res_change_geometry_restore(E_Client *ec);
-EINTERN void e_client_pos_set(E_Client *ec, int x, int y);
-EINTERN void e_client_pos_get(E_Client *ec, int *x, int *y);
-E_API void e_client_size_set(E_Client *ec, int w, int h);
-E_API void e_client_size_get(E_Client *ec, int *w, int *h);
-E_API void e_client_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
+E_API E_Client *e_client_from_surface_resource(struct wl_resource *surface_resource);
+E_API void      e_client_unignore(E_Client *ec);
+E_API void      e_client_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
 E_API E_Client *e_client_above_get(const E_Client *ec);
 E_API E_Client *e_client_below_get(const E_Client *ec);
-EINTERN E_Client *e_client_visible_above_get(E_Client *ec);
-EINTERN E_Client *e_client_visible_below_get(E_Client *ec);
 E_API E_Client *e_client_bottom_get(void);
 E_API E_Client *e_client_top_get(void);
-EINTERN unsigned int e_clients_count(void);
-EINTERN void e_client_move_intercept_cb_set(E_Client *ec, E_Client_Move_Intercept_Cb cb);
-E_API E_Client_Hook *e_client_hook_add(E_Client_Hook_Point hookpoint, E_Client_Hook_Cb func, const void *data);
-E_API void e_client_hook_del(E_Client_Hook *ch);
-E_API E_Client_Intercept_Hook *e_client_intercept_hook_add(E_Client_Intercept_Hook_Point hookpoint, E_Client_Intercept_Hook_Cb func, const void *data);
-E_API void e_client_intercept_hook_del(E_Client_Intercept_Hook *ch);
-E_API void e_client_focus_latest_set(E_Client *ec);
-E_API void e_client_focus_defer_set(E_Client *ec);
-EINTERN void e_client_activate(E_Client *ec);
-E_API E_Client *e_client_focused_get(void);
-EINTERN Eina_List *e_client_lost_windows_get(E_Zone *zone);
-EINTERN void e_client_maximized_geometry_set(E_Client *ec, int x, int y, int w, int h);
-EINTERN void e_client_maximized_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
-EINTERN void e_client_maximize_update(E_Client *ec);
-E_API void e_client_maximize(E_Client *ec, E_Maximize max);
-E_API void e_client_unmaximize(E_Client *ec, E_Maximize max);
-EINTERN void e_client_fullscreen(E_Client *ec, E_Fullscreen policy);
-EINTERN void e_client_unfullscreen(E_Client *ec);
-E_API void e_client_iconify(E_Client *ec);
-E_API void e_client_uniconify(E_Client *ec);
-E_API void e_client_iconified_type_set(E_Client *ec, E_Iconified_Type type);
-EINTERN E_Iconified_Type e_client_iconified_type_get(E_Client *ec);
+E_API void      e_client_maximize(E_Client *ec, E_Maximize max);
+E_API void      e_client_unmaximize(E_Client *ec, E_Maximize max);
+E_API void      e_client_iconify(E_Client *ec);
+E_API void      e_client_uniconify(E_Client *ec);
+E_API void      e_client_iconified_type_set(E_Client *ec, E_Iconified_Type type);
+E_API void      e_client_act_move_end(E_Client *ec, E_Binding_Event_Mouse_Button *ev EINA_UNUSED);
+E_API void      e_client_redirected_set(E_Client *ec, Eina_Bool set);
+E_API void      e_client_post_raise_lower_set(E_Client *ec, Eina_Bool raise_set, Eina_Bool lower_set);
+E_API Eina_Bool e_client_first_mapped_get(E_Client *ec);
+E_API void      e_client_window_role_set(E_Client *ec, const char *role);
+E_API void      e_client_frame_focus_set(E_Client *ec, Eina_Bool focus);
+E_API Eina_Bool e_client_video_client_has(E_Client *ec);
+E_API Eina_Bool e_client_normal_client_has(E_Client *ec);
+E_API void      e_client_stay_within_canvas_margin(E_Client *ec);
+E_API void      e_client_raise(E_Client *ec);
+E_API void      e_client_lower(E_Client *ec);
+E_API E_Map    *e_client_map_get(const E_Client *ec); // get E_Map from e_client. it must be freed after used.
+E_API E_Transient  e_client_transient_policy_get(E_Client *ec);
+
+//#ifdef REFACTOR_DESK_AREA
+//#else
+E_API Eina_Bool e_client_desk_area_set(E_Client *ec, E_Desk_Area *eda);
+//#endif
+
+E_API void      e_client_size_set(E_Client *ec, int w, int h);
+E_API void      e_client_size_get(E_Client *ec, int *w, int *h);
+
+E_API Eina_Bool e_client_is_internal(E_Client *ec);
 E_API Eina_Bool e_client_is_iconified_by_client(E_Client *ec);
-EINTERN void e_client_hide_by_request_set(E_Client *ec, Eina_Bool set);
-EINTERN Eina_Bool e_client_hide_by_request_get(E_Client *ec);
-EINTERN void e_client_stick(E_Client *ec);
-EINTERN void e_client_unstick(E_Client *ec);
-EINTERN void e_client_pinned_set(E_Client *ec, Eina_Bool set);
-EINTERN void e_client_comp_hidden_set(E_Client *ec, Eina_Bool hidden);
-EINTERN Eina_Bool e_client_border_set(E_Client *ec, const char *name);
-EINTERN void e_client_act_move_keyboard(E_Client *ec);
-EINTERN void e_client_act_resize_keyboard(E_Client *ec);
-EINTERN void e_client_act_move_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev);
-E_API void e_client_act_move_end(E_Client *ec, E_Binding_Event_Mouse_Button *ev EINA_UNUSED);
-EINTERN void e_client_act_resize_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev, E_Pointer_Mode resize_mode);
-EINTERN void e_client_act_resize_end(E_Client *ec, E_Binding_Event_Mouse_Button *ev EINA_UNUSED);
-EINTERN void e_client_act_menu_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev, int key);
-EINTERN void e_client_act_close_begin(E_Client *ec);
-EINTERN void e_client_act_kill_begin(E_Client *ec);
-EINTERN void e_client_ping(E_Client *cw);
-EINTERN void e_client_move_cancel(void);
-EINTERN void e_client_resize_cancel(void);
-EINTERN Eina_Bool e_client_resize_begin(E_Client *ec);
-EINTERN void e_client_frame_recalc(E_Client *ec);
-EINTERN void e_client_signal_move_begin(E_Client *ec, const char *sig, const char *src EINA_UNUSED);
-EINTERN void e_client_signal_move_end(E_Client *ec, const char *sig EINA_UNUSED, const char *src EINA_UNUSED);
-EINTERN void e_client_signal_resize_begin(E_Client *ec, const char *dir, const char *sig, const char *src EINA_UNUSED);
-EINTERN void e_client_signal_resize_end(E_Client *ec, const char *dir EINA_UNUSED, const char *sig EINA_UNUSED, const char *src EINA_UNUSED);
-EINTERN void e_client_resize_limit(E_Client *ec, int *w, int *h);
-EINTERN E_Client *e_client_under_pointer_get(E_Desk *desk, E_Client *exclude);
+
 E_API E_Client *e_client_under_position_get(E_Desk *desk, int x, int y, E_Client *exclude);
 E_API E_Client *e_client_under_position_input_get(E_Desk *desk, int x, int y);
-E_API void e_client_redirected_set(E_Client *ec, Eina_Bool set);
-EINTERN E_Client *e_client_transient_child_top_get(E_Client *ec, Eina_Bool consider_focus);
+
+E_API int       e_client_show_pending_set(E_Client *ec);
+E_API int       e_client_show_pending_unset(E_Client *ec);
+
+E_API void      e_client_stack_above(E_Client *ec, E_Client *above); // ec is placed on the above
+E_API void      e_client_stack_below(E_Client *ec, E_Client *below); // ec is placed under the below
+
+/* client layer shall be placed on range between E_LAYER_CLIENT_DESKTOP and E_LAYER_CLIENT_CURSOR
+ * if it is in unexpected layer return E_LAYER_BOTTOM otherwise
+ */
+E_API E_Layer   e_client_layer_get(E_Client *ec);
+E_API Eina_Bool e_client_layer_set(E_Client *ec, E_Layer layer);
+
+E_API void      e_client_focus_latest_set(E_Client *ec);
+E_API void      e_client_focus_defer_set(E_Client *ec);
+E_API E_Client *e_client_focused_get(void);
+E_API void      e_client_focus_skip_set(E_Client *ec, Eina_Bool skip, Eina_Bool by_client);
+
 E_API void      e_client_visibility_calculate(void); // FIXME: This has to be deprecated.
 E_API void      e_client_visibility_skip_set(E_Client *ec, Eina_Bool skip);
-E_API void      e_client_post_raise_lower_set(E_Client *ec, Eina_Bool raise_set, Eina_Bool lower_set);
-E_API Eina_Bool e_client_first_mapped_get(E_Client *ec);
-EINTERN Eina_Bool e_client_mapped_get(E_Client *ec);
-EINTERN void      e_client_mapped_set(E_Client *ec, Eina_Bool set);
+E_API void      e_client_visibility_force_obscured_set(E_Client *ec, Eina_Bool set);
+
+E_API void      e_client_cursor_map_apply(E_Client *ec, int rotation, int x, int y);
+E_API Eina_Bool e_client_cursor_hide(E_Client *ec);
 
-E_API void e_client_transform_update(E_Client *ec);
-EINTERN void e_client_transform_apply(E_Client *ec, double degree, double zoom, int cx, int cy);
-EINTERN void e_client_transform_clear(E_Client *ec);
-E_API void e_client_cursor_map_apply(E_Client *ec, int rotation, int x, int y);
+E_API E_Client_Hook *e_client_hook_add(E_Client_Hook_Point hookpoint, E_Client_Hook_Cb func, const void *data);
+E_API void           e_client_hook_del(E_Client_Hook *ch);
+
+E_API E_Client_Intercept_Hook *e_client_intercept_hook_add(E_Client_Intercept_Hook_Point hookpoint, E_Client_Intercept_Hook_Cb func, const void *data);
+E_API void                     e_client_intercept_hook_del(E_Client_Intercept_Hook *ch);
 
 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);
@@ -1179,80 +1154,14 @@ E_API int               e_client_transform_core_transform_count_get(E_Client *ec
 E_API E_Util_Transform *e_client_transform_core_transform_get(E_Client *ec, int index);
 E_API void              e_client_transform_core_input_transform(E_Client *ec, int x, int y, int *out_x, int *out_y);
 E_API void              e_client_transform_core_input_inv_transform(E_Client *ec, int x, int y, int *out_x, int *out_y);
-EINTERN void              e_client_transform_core_input_inv_rect_transform(E_Client *ec, int x, int y, int *out_x, int *out_y);
 E_API void              e_client_transform_core_direct_render_set(E_Client *ec, Eina_Bool set);
-
-EINTERN E_Pixmap *e_client_pixmap_change(E_Client *ec, E_Pixmap *newcp);
-E_API void e_client_window_role_set(E_Client *ec, const char *role);
-
-EINTERN Eina_Bool e_client_key_send(E_Client *ec, int keycode, Eina_Bool pressed, Ecore_Device *dev, unsigned int time);
-EINTERN Eina_Bool e_client_key_cancel(E_Client *ec, int keycode, Ecore_Device *dev, unsigned int time);
-EINTERN Eina_Bool e_client_touch_send(E_Client *ec, int idx, int x, int y, Eina_Bool pressed, Ecore_Device *dev, double radius_x, double radius_y, double pressure, double angle, unsigned int time);
-EINTERN Eina_Bool e_client_touch_update_send(E_Client *ec, int idx, int x, int y, Ecore_Device *dev, double radius_x, double radius_y, double pressure, double angle, unsigned int time);
-EINTERN Eina_Bool e_client_touch_cancel_send(E_Client *ec);
-EINTERN Eina_Bool e_client_mouse_button_send(E_Client *ec, int buttons, Eina_Bool pressed, Ecore_Device *dev, unsigned int time);
-EINTERN Eina_Bool e_client_mouse_move_send(E_Client *ec, int x, int y, Ecore_Device *dev, unsigned int time);
-EINTERN Eina_Bool e_client_mouse_wheel_send(E_Client *ec, int direction, int z, Ecore_Device *dev, unsigned int time);
-EINTERN Eina_Bool e_client_mouse_in_send(E_Client *ec, int x, int y, Ecore_Device *dev, unsigned int time);
-EINTERN Eina_Bool e_client_mouse_out_send(E_Client *ec, Ecore_Device *dev, unsigned int time);
-
-E_API Eina_Bool e_client_video_client_has(E_Client *ec);
-E_API Eina_Bool e_client_normal_client_has(E_Client *ec);
-
-E_API Eina_Bool e_client_cursor_hide(E_Client *ec);
-
-E_API void e_client_visibility_force_obscured_set(E_Client *ec, Eina_Bool set);
-
-E_API void e_client_stay_within_canvas_margin(E_Client *ec);
-
-EINTERN E_Capture_Save_State e_client_image_save(E_Client *ec, const char *dir, const char *name, E_Capture_Client_Save_End_Cb func_end, void *data, Eina_Bool skip_child);
+E_API void              e_client_transform_update(E_Client *ec);
 
 E_API void      e_client_base_output_resolution_transform_adjust(E_Client *ec);
 E_API Eina_Bool e_client_base_output_resolution_update(E_Client *ec);
 E_API Eina_Bool e_client_base_output_resolution_useful_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
 E_API Eina_Bool e_client_base_output_resolution_desk_useful_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h, Eina_Bool consider_obstacle_area);
 
-EINTERN Eina_Bool e_client_base_output_resolution_rsm_update(E_Client *bind_ec, E_Client *provider_ec);
-
-E_API void e_client_focus_skip_set(E_Client *ec, Eina_Bool skip, Eina_Bool by_client);
-EINTERN Eina_Bool e_client_check_above_focused(E_Client *ec);
-
-EINTERN void      e_client_pending_geometry_flush(E_Client *ec);
-EINTERN Eina_Bool e_client_pending_geometry_has(E_Client *ec);
-EINTERN void      e_client_pending_geometry_last_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
-
-E_API void e_client_frame_focus_set(E_Client *ec, Eina_Bool focus);
-EINTERN void e_client_frame_geometry_set(E_Client *ec, int x, int y, int w, int h);
-
-E_API Eina_Bool e_client_layer_set(E_Client *ec, E_Layer layer);
-/* client layer shall be placed on range between E_LAYER_CLIENT_DESKTOP and E_LAYER_CLIENT_CURSOR
- * if it is in unexpected layer return E_LAYER_BOTTOM otherwise
- */
-E_API E_Layer   e_client_layer_get(E_Client *ec);
-
-//#ifdef REFACTOR_DESK_AREA
-//#else
-EINTERN Eina_Bool e_client_layer_set_by_desk_area(E_Client *ec, E_Layer layer);
-EINTERN void e_client_desk_area_original_layer_restore(E_Client *ec);
-EINTERN E_Layer e_client_desk_area_original_layer_get(E_Client *ec);
-EINTERN Eina_Bool e_client_desk_area_client_layer_set(E_Client *ec, E_Desk_Area_Client_Layer edgc_layer);
-EINTERN E_Desk_Area_Client_Layer e_client_desk_area_client_layer_get(E_Client *ec);
-
-E_API Eina_Bool e_client_desk_area_set(E_Client *ec, E_Desk_Area *eda);
-//#endif
-
-E_API void      e_client_raise(E_Client *ec);
-E_API void      e_client_lower(E_Client *ec);
-// ec is placed on the above
-E_API void      e_client_stack_above(E_Client *ec, E_Client *above);
-// ec is placed under the below
-E_API void      e_client_stack_below(E_Client *ec, E_Client *below);
-
-E_API int       e_client_show_pending_set(E_Client *ec);
-E_API int       e_client_show_pending_unset(E_Client *ec);
-
-EINTERN int     e_client_type_update(E_Client *ec);
-
 typedef Eina_Bool (*E_Client_Surface_Tree_Foreach)(void *data, E_Client *ec);
 
 /**
@@ -1268,61 +1177,6 @@ typedef Eina_Bool (*E_Client_Surface_Tree_Foreach)(void *data, E_Client *ec);
  */
 E_API void      e_client_surface_tree_foreach(E_Client *ec, E_Client_Surface_Tree_Foreach func, void *data);
 
-// get a comp_data from a ec
-EINTERN E_Comp_Wl_Client_Data   *e_client_cdata_new(E_Client *ec);
-EINTERN void                     e_client_cdata_free(E_Client *ec);
-EINTERN E_Comp_Wl_Client_Data   *e_client_cdata_get(E_Client *ec);
-
-EINTERN Eina_Bool        e_client_map_set(E_Client *ec, E_Map *em);
-// get E_Map from e_client. it must be freed after used.
-E_API E_Map           *e_client_map_get(const E_Client *ec);
-EINTERN Eina_Bool        e_client_map_enable_set(E_Client *ec, Eina_Bool enabled);
-
-EINTERN void e_client_belong_to_parent_set(E_Client *ec, Eina_Bool set);
-EINTERN Eina_Bool e_client_is_belong_to_parent(E_Client *ec);
-
-EINTERN void e_client_transient_policy_set(E_Client *ec, E_Transient policy);
-E_API E_Transient e_client_transient_policy_get(E_Client *ec);
-
-EINTERN void e_client_resize_object_create_cb_set(E_Client_Resize_Object_Create_Cb cb);
-EINTERN void e_client_resize_unit_size_set(E_Client *ec, unsigned int unit_size);
-
-EINTERN void e_client_desk_zoom_enable_set(E_Client *ec, Eina_Bool enable);
-EINTERN Eina_Bool e_client_desk_zoom_enable_get(E_Client *ec);
-
-EINTERN void e_client_layout_apply(E_Client *ec, Eina_Bool apply);
-EINTERN Eina_Bool e_client_is_layout_apply(E_Client *ec);
-
-EINTERN Eina_Bool e_client_fps_get(E_Client *ec, double *fps);
-EINTERN void e_client_fps_update(E_Client *ec);
-EINTERN void e_client_fps_enable(E_Client *ec, Eina_Bool enable);
-
-EINTERN Eina_Bool e_client_explicit_sync_get(E_Client *ec);
-EINTERN Eina_Bool e_client_explicit_sync_set(E_Client *ec, Eina_Bool enable);
-EINTERN int       e_client_explicit_sync_acquire_fence_fd_get(E_Client *ec);
-EINTERN Eina_Bool e_client_explicit_sync_acquire_fence_fd_set(E_Client *ec, int fd);
-EINTERN void      e_client_focus_calculate(E_Zone *zone);
-EINTERN Eina_Bool e_client_visibility_touched_check(E_Client *ec);
-EINTERN void      e_client_visibility_change_notify(E_Client *ec);
-EINTERN void      e_client_visibility_end_notify(void);
-
-EINTERN Eina_Bool e_client_intercept_hook_focus_revert_call(E_Client *ec);
-EINTERN E_Client  *e_client_check_obscured_by_children_group(E_Client *ec);
-EINTERN Eina_Bool  e_client_check_really_iconified(E_Client *ec);
-EINTERN E_Client  *e_client_check_fully_contain_by_above(E_Client *ec, Eina_Bool check_layer);
-
-EINTERN Eina_Bool e_client_intercept_hook_auto_placement_call(E_Client *ec);
-EINTERN void e_client_iconify_event_send(E_Client *ec);
-EINTERN void e_client_uniconify_event_send(E_Client *ec);
-EINTERN void e_client_frame_update(E_Client *ec);
-EINTERN Eina_Bool e_client_is_parent_iconify_by_client(E_Client *ec);
-
-EINTERN void e_client_stack_transient_for_done_notify(E_Client *ec);
-
-//#ifdef REFACTOR_DESK_AREA
-EINTERN void e_client_subsurface_stack_update(E_Client *ec);
-//#endif
-
 /**
  * Move window to coordinates that do not account client decorations yet.
  *
index ad1d239..b4609cb 100644 (file)
@@ -37,6 +37,173 @@ e_client_util_pwin_get(const E_Client *ec)
    return e_pixmap_parent_window_get(ec->pixmap);
 }
 
+EINTERN Eina_Bool e_client_init(void);
+EINTERN void      e_client_shutdown(void);
+
+EINTERN void          e_client_idler_before(Eina_Bool *check_focus);
+EINTERN unsigned int  e_clients_count(void);
+EINTERN void          e_client_activate(E_Client *ec);
+EINTERN Eina_List    *e_client_lost_windows_get(E_Zone *zone);
+EINTERN void          e_client_fullscreen(E_Client *ec, E_Fullscreen policy);
+EINTERN void          e_client_unfullscreen(E_Client *ec);
+EINTERN void          e_client_stick(E_Client *ec);
+EINTERN void          e_client_unstick(E_Client *ec);
+EINTERN void          e_client_pinned_set(E_Client *ec, Eina_Bool set);
+EINTERN Eina_Bool     e_client_border_set(E_Client *ec, const char *name);
+EINTERN void          e_client_ping(E_Client *cw);
+EINTERN int           e_client_type_update(E_Client *ec);
+EINTERN void          e_client_transient_policy_set(E_Client *ec, E_Transient policy);
+
+EINTERN Eina_Bool e_client_is_parent_iconify_by_client(E_Client *ec);
+EINTERN Eina_Bool e_client_is_layout_apply(E_Client *ec);
+EINTERN Eina_Bool e_client_is_belong_to_parent(E_Client *ec);
+
+EINTERN Eina_Bool  e_client_check_above_focused(E_Client *ec);
+EINTERN E_Client  *e_client_check_obscured_by_children_group(E_Client *ec);
+EINTERN Eina_Bool  e_client_check_really_iconified(E_Client *ec);
+EINTERN E_Client  *e_client_check_fully_contain_by_above(E_Client *ec, Eina_Bool check_layer);
+
+EINTERN E_Iconified_Type e_client_iconified_type_get(E_Client *ec);
+
+EINTERN E_Capture_Save_State e_client_image_save(E_Client *ec, const char *dir, const char *name, E_Capture_Client_Save_End_Cb func_end, void *data, Eina_Bool skip_child);
+
+EINTERN Eina_Bool e_client_base_output_resolution_rsm_update(E_Client *bind_ec, E_Client *provider_ec);
+
+EINTERN E_Pixmap *e_client_pixmap_change(E_Client *ec, E_Pixmap *newcp);
+
+EINTERN void      e_client_frame_recalc(E_Client *ec);
+EINTERN void      e_client_frame_geometry_set(E_Client *ec, int x, int y, int w, int h);
+EINTERN void      e_client_frame_update(E_Client *ec);
+
+EINTERN void      e_client_move_intercept_cb_set(E_Client *ec, E_Client_Move_Intercept_Cb cb);
+EINTERN void      e_client_move_cancel(void);
+
+EINTERN Eina_Bool e_client_resize_begin(E_Client *ec);
+EINTERN void      e_client_resize_cancel(void);
+EINTERN void      e_client_resize_object_create_cb_set(E_Client_Resize_Object_Create_Cb cb);
+EINTERN void      e_client_resize_unit_size_set(E_Client *ec, unsigned int unit_size);
+EINTERN void      e_client_resize_limit(E_Client *ec, int *w, int *h);
+
+EINTERN void      e_client_desk_zoom_enable_set(E_Client *ec, Eina_Bool enable);
+EINTERN Eina_Bool e_client_desk_zoom_enable_get(E_Client *ec);
+EINTERN void      e_client_desk_iconify_skip_set(E_Client *ec, Eina_Bool skip);
+EINTERN Eina_Bool e_client_desk_iconify_skip_get(E_Client *ec);
+
+EINTERN void      e_client_comp_hidden_set(E_Client *ec, Eina_Bool hidden);
+EINTERN Eina_Bool e_client_comp_grabbed_get(void);
+
+EINTERN E_Client *e_client_action_get(void);
+
+EINTERN Eina_Bool e_client_key_send(E_Client *ec, int keycode, Eina_Bool pressed, Ecore_Device *dev, unsigned int time);
+EINTERN Eina_Bool e_client_key_cancel(E_Client *ec, int keycode, Ecore_Device *dev, unsigned int time);
+
+EINTERN Eina_Bool e_client_touch_send(E_Client *ec, int idx, int x, int y, Eina_Bool pressed, Ecore_Device *dev, double radius_x, double radius_y, double pressure, double angle, unsigned int time);
+EINTERN Eina_Bool e_client_touch_update_send(E_Client *ec, int idx, int x, int y, Ecore_Device *dev, double radius_x, double radius_y, double pressure, double angle, unsigned int time);
+EINTERN Eina_Bool e_client_touch_cancel_send(E_Client *ec);
+
+EINTERN void      e_client_mouse_in(E_Client *ec, int x, int y);
+EINTERN void      e_client_mouse_out(E_Client *ec, int x, int y);
+EINTERN void      e_client_mouse_wheel(E_Client *ec, Evas_Point *output, E_Binding_Event_Wheel *ev);
+EINTERN void      e_client_mouse_down(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button *ev);
+EINTERN void      e_client_mouse_up(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button* ev);
+EINTERN void      e_client_mouse_move(E_Client *ec, Evas_Point *output);
+EINTERN Eina_Bool e_client_mouse_button_send(E_Client *ec, int buttons, Eina_Bool pressed, Ecore_Device *dev, unsigned int time);
+EINTERN Eina_Bool e_client_mouse_move_send(E_Client *ec, int x, int y, Ecore_Device *dev, unsigned int time);
+EINTERN Eina_Bool e_client_mouse_wheel_send(E_Client *ec, int direction, int z, Ecore_Device *dev, unsigned int time);
+EINTERN Eina_Bool e_client_mouse_in_send(E_Client *ec, int x, int y, Ecore_Device *dev, unsigned int time);
+EINTERN Eina_Bool e_client_mouse_out_send(E_Client *ec, Ecore_Device *dev, unsigned int time);
+
+EINTERN void      e_client_res_change_geometry_save(E_Client *bd);
+EINTERN void      e_client_res_change_geometry_restore(E_Client *ec);
+
+EINTERN void      e_client_pos_set(E_Client *ec, int x, int y);
+EINTERN void      e_client_pos_get(E_Client *ec, int *x, int *y);
+
+EINTERN E_Client *e_client_visible_above_get(E_Client *ec);
+EINTERN E_Client *e_client_visible_below_get(E_Client *ec);
+
+EINTERN void      e_client_maximized_geometry_set(E_Client *ec, int x, int y, int w, int h);
+EINTERN void      e_client_maximized_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
+EINTERN void      e_client_maximize_update(E_Client *ec);
+
+EINTERN void      e_client_hide_by_request_set(E_Client *ec, Eina_Bool set);
+EINTERN Eina_Bool e_client_hide_by_request_get(E_Client *ec);
+
+EINTERN void      e_client_act_move_keyboard(E_Client *ec);
+EINTERN void      e_client_act_resize_keyboard(E_Client *ec);
+EINTERN void      e_client_act_move_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev);
+EINTERN void      e_client_act_resize_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev, E_Pointer_Mode resize_mode);
+EINTERN void      e_client_act_resize_end(E_Client *ec, E_Binding_Event_Mouse_Button *ev EINA_UNUSED);
+EINTERN void      e_client_act_menu_begin(E_Client *ec, E_Binding_Event_Mouse_Button *ev, int key);
+EINTERN void      e_client_act_close_begin(E_Client *ec);
+EINTERN void      e_client_act_kill_begin(E_Client *ec);
+
+EINTERN void      e_client_signal_move_begin(E_Client *ec, const char *sig, const char *src EINA_UNUSED);
+EINTERN void      e_client_signal_move_end(E_Client *ec, const char *sig EINA_UNUSED, const char *src EINA_UNUSED);
+EINTERN void      e_client_signal_resize_begin(E_Client *ec, const char *dir, const char *sig, const char *src EINA_UNUSED);
+EINTERN void      e_client_signal_resize_end(E_Client *ec, const char *dir EINA_UNUSED, const char *sig EINA_UNUSED, const char *src EINA_UNUSED);
+
+EINTERN E_Client *e_client_under_pointer_get(E_Desk *desk, E_Client *exclude);
+EINTERN E_Client *e_client_transient_child_top_get(E_Client *ec, Eina_Bool consider_focus);
+EINTERN Eina_Bool e_client_mapped_get(E_Client *ec);
+EINTERN void      e_client_mapped_set(E_Client *ec, Eina_Bool set);
+
+EINTERN void      e_client_transform_apply(E_Client *ec, double degree, double zoom, int cx, int cy);
+EINTERN void      e_client_transform_clear(E_Client *ec);
+EINTERN void      e_client_transform_core_input_inv_rect_transform(E_Client *ec, int x, int y, int *out_x, int *out_y);
+
+EINTERN void      e_client_pending_geometry_flush(E_Client *ec);
+EINTERN Eina_Bool e_client_pending_geometry_has(E_Client *ec);
+EINTERN void      e_client_pending_geometry_last_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h);
+
+//#ifdef REFACTOR_DESK_AREA
+//#else
+EINTERN Eina_Bool e_client_layer_set_by_desk_area(E_Client *ec, E_Layer layer);
+EINTERN void      e_client_desk_area_original_layer_restore(E_Client *ec);
+EINTERN E_Layer   e_client_desk_area_original_layer_get(E_Client *ec);
+EINTERN Eina_Bool e_client_desk_area_client_layer_set(E_Client *ec, E_Desk_Area_Client_Layer edgc_layer);
+EINTERN E_Desk_Area_Client_Layer e_client_desk_area_client_layer_get(E_Client *ec);
+//#endif
+
+// get a comp_data from a ec
+EINTERN E_Comp_Wl_Client_Data   *e_client_cdata_new(E_Client *ec);
+EINTERN void                     e_client_cdata_free(E_Client *ec);
+EINTERN E_Comp_Wl_Client_Data   *e_client_cdata_get(E_Client *ec);
+
+EINTERN Eina_Bool e_client_map_set(E_Client *ec, E_Map *em);
+EINTERN Eina_Bool e_client_map_enable_set(E_Client *ec, Eina_Bool enabled);
+EINTERN void      e_client_belong_to_parent_set(E_Client *ec, Eina_Bool set);
+
+EINTERN void      e_client_layout_apply(E_Client *ec, Eina_Bool apply);
+
+EINTERN Eina_Bool e_client_fps_get(E_Client *ec, double *fps);
+EINTERN void      e_client_fps_update(E_Client *ec);
+EINTERN void      e_client_fps_enable(E_Client *ec, Eina_Bool enable);
+
+EINTERN Eina_Bool e_client_explicit_sync_get(E_Client *ec);
+EINTERN Eina_Bool e_client_explicit_sync_set(E_Client *ec, Eina_Bool enable);
+EINTERN int       e_client_explicit_sync_acquire_fence_fd_get(E_Client *ec);
+EINTERN Eina_Bool e_client_explicit_sync_acquire_fence_fd_set(E_Client *ec, int fd);
+
+EINTERN void      e_client_focus_calculate(E_Zone *zone);
+
+EINTERN Eina_Bool e_client_visibility_touched_check(E_Client *ec);
+EINTERN void      e_client_visibility_change_notify(E_Client *ec);
+EINTERN void      e_client_visibility_end_notify(void);
+
+EINTERN Eina_Bool e_client_intercept_hook_focus_revert_call(E_Client *ec);
+EINTERN Eina_Bool e_client_intercept_hook_auto_placement_call(E_Client *ec);
+
+EINTERN void      e_client_iconify_event_send(E_Client *ec);
+EINTERN void      e_client_uniconify_event_send(E_Client *ec);
+
+EINTERN void      e_client_stack_transient_for_done_notify(E_Client *ec);
+
+//#ifdef REFACTOR_DESK_AREA
+EINTERN void      e_client_subsurface_stack_update(E_Client *ec);
+//#endif
+
+// listeners
 EINTERN void e_client_eval_pre_fetch_listener_add(E_Client *ec, struct wl_listener *listener);
 EINTERN void e_client_eval_fetch_listener_add(E_Client *ec, struct wl_listener *listener);
 EINTERN void e_client_eval_pre_post_fetch_listener_add(E_Client *ec, struct wl_listener *listener);
index 02e06d7..e0640f8 100644 (file)
@@ -3,6 +3,7 @@
 #include "e_comp_screen_intern.h"
 #include "e_comp_intern.h"
 #include "e_output_intern.h"
+#include "e_client_intern.h"
 
 static Eina_List *handlers;
 static Eina_Bool _ev_freeze = EINA_FALSE;
index 91cb9fa..9c69015 100644 (file)
@@ -19,6 +19,7 @@
 #include "e_hwc_windows_intern.h"
 #include "e_policy_visibility_intern.h"
 #include "e_client_video_intern.h"
+#include "e_client_intern.h"
 
 /* data keys:
 
index 6407e98..fc80e50 100644 (file)
@@ -4,6 +4,9 @@
 #include "e_comp_wl_viewport_intern.h"
 #include "e_pixmap_intern.h"
 #include "e_client_video_intern.h"
+#ifdef REFACTOR_DESK_AREA
+#include "e_client_intern.h"
+#endif
 
 #include <tizen-extension-server-protocol.h>
 
index dd649b2..5735787 100644 (file)
@@ -9,6 +9,7 @@
 #include "e_pixmap_intern.h"
 #include "e_presentation_time_intern.h"
 #include "e_client_video_intern.h"
+#include "e_client_intern.h"
 
 #include <libds/compositor.h>
 #include <libds/subcompositor.h>
index f08cf17..8186f6b 100644 (file)
@@ -1,8 +1,6 @@
 #include "e.h"
 #include "e_desk_area_intern.h"
-#ifdef REFACTOR_DESK_AREA
 #include "e_client_intern.h"
-#endif
 #include "e_utils_intern.h"
 #include "e_comp_screen_intern.h"
 #include "e_comp_wl_subsurface_intern.h"
index cf4767d..a0dbbdd 100644 (file)
@@ -1,6 +1,6 @@
 #include "e.h"
-#ifdef REFACTOR_DESK_AREA
 #include "e_client_intern.h"
+#ifdef REFACTOR_DESK_AREA
 #include "e_comp_object_intern.h"
 #include "e_comp_canvas_intern.h"
 #include "e_comp_wl_rsm_intern.h"
index 70ec99b..c0d1112 100644 (file)
@@ -3,6 +3,7 @@
 #include "e_comp_screen_intern.h"
 #include "e_comp_intern.h"
 #include "e_egl_sync_intern.h"
+#include "e_client_intern.h"
 
 #include <linux-explicit-synchronization-unstable-v1-server-protocol.h>
 #include <tizen-extension-server-protocol.h>
index 3a5159f..09c150a 100644 (file)
@@ -5,6 +5,7 @@
 #include "e_output_intern.h"
 #include "e_hwc_intern.h"
 #include "e_policy_private_data.h"
+#include "e_client_intern.h"
 
 #include <wayland-tbm-server.h>
 
index 853898b..f293860 100644 (file)
@@ -13,6 +13,7 @@
 #include "e_policy_private_data.h"
 #include "e_policy_visibility_intern.h"
 #include "e_client_video_intern.h"
+#include "e_client_intern.h"
 
 # include <pixman.h>
 # include <wayland-tbm-server.h>
index 1412267..9dfe552 100644 (file)
@@ -7,6 +7,7 @@
 #include "e_hwc_window_intern.h"
 #include "e_hwc_intern.h"
 #include "e_policy_visibility_intern.h"
+#include "e_client_intern.h"
 
 # include <gbm.h>
 # include <wayland-tbm-server.h>
index abddb57..a0e84e6 100644 (file)
@@ -12,6 +12,7 @@
 #include "e_output_intern.h"
 #include "e_egl_sync_intern.h"
 #include "e_client_video_intern.h"
+#include "e_client_intern.h"
 
 # include <Evas_Engine_GL_Tbm.h>
 # include <Evas_Engine_Software_Tbm.h>
index bd7bf49..5ecb31b 100644 (file)
@@ -27,6 +27,7 @@
 #include "e_focus_intern.h"
 #include "e_client_video_intern.h"
 #include "e_video_debug_intern.h"
+#include "e_client_intern.h"
 
 #include <tbm_bufmgr.h>
 #include <tbm_surface.h>
index 9c05f35..83f2a19 100644 (file)
@@ -1,6 +1,7 @@
 #include "e_keyrouter_private.h"
 #include "e_comp_wl_input_intern.h"
 #include "e_comp_wl_intern.h"
+#include "e_client_intern.h"
 
 void
 e_keyrouter_wl_event_surface_send(struct wl_resource *surface, int key, int mode)
index 8052f66..67c1e7f 100644 (file)
@@ -29,6 +29,7 @@
 #include "e_env_intern.h"
 #include "e_dpms_intern.h"
 #include "e_dnd_intern.h"
+#include "e_client_intern.h"
 
 #ifdef __linux__
 # include <sys/prctl.h>
index 1ed3107..86549c6 100644 (file)
@@ -5,6 +5,7 @@
 #include "e_pointer_intern.h"
 #include "e_output_intern.h"
 #include "e_comp_wl_video_buffer_intern.h"
+#include "e_client_intern.h"
 
 #include <device/board-internal.h>
 # include <tdm.h>
index faa7209..f2462a8 100644 (file)
@@ -5,6 +5,7 @@
 #include "e_comp_wl_intern.h"
 #include "e_pointer_intern.h"
 #include "e_pixmap_intern.h"
+#include "e_client_intern.h"
 
 # include <tdm.h>
 # include <tdm_helper.h>
index b97100b..214e0cd 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "e_pointer_intern.h"
 #include "e_input_intern.h"
+#include "e_client_intern.h"
 
 /* local variables */
 static Eina_List *_ptrs = NULL;
index 5ca8c11..3e502e3 100644 (file)
@@ -8,6 +8,7 @@
 #include "e_comp_wl_subsurface_intern.h"
 #include "e_comp_intern.h"
 #include "e_pixmap_intern.h"
+#include "e_client_intern.h"
 
 E_Policy *e_policy = NULL;
 Eina_Hash *hash_policy_desks = NULL;
index c8713b2..887d87e 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "e_policy_intern.h"
 #include "e_pixmap_intern.h"
+#include "e_client_intern.h"
 
 Eina_Bool
 _e_policy_stack_transient_for_check_descendant(E_Client *ec, E_Client *ancestor, E_Transient policy)
index 4987d97..7b72ecb 100644 (file)
@@ -10,6 +10,7 @@
 #include "e_comp_wl_rsm_intern.h"
 #include "e_comp_intern.h"
 #include "e_policy_wl_intern.h"
+#include "e_client_intern.h"
 
 #ifdef ENABLE_TTRACE
 # include <ttrace.h>
index 890f4e6..68d675e 100644 (file)
@@ -1,5 +1,6 @@
 #include "e.h"
 #include "e_presentation_time_intern.h"
+#include "e_client_intern.h"
 
 #include <presentation-time-server-protocol.h>
 #include <tizen-extension-server-protocol.h>
index 3a5fb80..99fcb81 100644 (file)
@@ -6,6 +6,7 @@
 #include "e_devicemgr_intern.h"
 #include "e_pixmap_intern.h"
 #include "e_policy_intern.h"
+#include "e_client_intern.h"
 
 #define BUS "org.enlightenment.wm"
 #define PATH "/org/enlightenment/wm"
index 02664ab..ccf517b 100644 (file)
@@ -2,6 +2,7 @@
 #include "e_xdg_shell_v6_intern.h"
 #include "e_comp_wl_intern.h"
 #include "e_comp_wl_shell_intern.h"
+#include "e_client_intern.h"
 
 #include <libds/surface.h>
 #include <libds/types/ds_xdg_shell_v6.h>
index 51c89d3..b979b0b 100644 (file)
@@ -2,6 +2,7 @@
 #include "services/e_service_cbhm_intern.h"
 #include "e_policy_conformant.h"
 #include "e_policy_wl_intern.h"
+#include "e_client_intern.h"
 
 typedef struct _E_Policy_Cbhm E_Policy_Cbhm;
 
index 85fd423..9ae76d9 100644 (file)
@@ -7,6 +7,7 @@
 #include "e_policy_wl_intern.h"
 #include "e_policy_private_data.h"
 #include "e_policy_visibility_intern.h"
+#include "e_client_intern.h"
 
 #include <tzsh_server.h>
 #include <wayland-tbm-server.h>
index 8fd0be4..1941386 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "services/e_service_lockscreen_intern.h"
 #include "e_policy_private_data.h"
+#include "e_client_intern.h"
 
 EINTERN Eina_Bool
 e_service_lockscreen_client_set(E_Client *ec)
index e539cda..1c73edd 100644 (file)
@@ -6,6 +6,7 @@
 #include "e_policy_intern.h"
 #include "e_policy_wl_intern.h"
 #include "e_policy_private_data.h"
+#include "e_client_intern.h"
 
 #define SMART_NAME            "quickpanel_object"
 #define INTERNAL_ENTRY                       \
index 6ce9ba7..4c21f52 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "services/e_service_scrsaver_intern.h"
 #include "e_policy_private_data.h"
+#include "e_client_intern.h"
 
 EINTERN Eina_Bool
 e_service_scrsaver_client_set(E_Client *ec)
index 1de97c2..955f553 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "services/e_service_taskbar_intern.h"
 #include "e_policy_private_data.h"
+#include "e_client_intern.h"
 
 #include <wayland-server.h>
 #include <tzsh_server.h>
index 5c90254..80c0cd5 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "services/e_service_volume_intern.h"
 #include "e_policy_private_data.h"
+#include "e_client_intern.h"
 
 #include <wayland-server.h>
 #include <tzsh_server.h>