From 5ba9c7b23bf1e696738b0214c28648c98889fd87 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Fri, 19 Jan 2024 16:13:16 +0900 Subject: [PATCH] e_output: make an internal header Move the internal resources and the function declaration to the internal header Change-Id: I3c5e8cd8d40f1cb3e134a252764fdb9b59cb56e9 --- src/bin/e_comp_canvas.c | 1 + src/bin/e_comp_screen.c | 1 + src/bin/e_comp_wl_screenshooter.c | 1 + src/bin/e_desk.c | 1 + src/bin/e_dpms.c | 2 + src/bin/e_eom.c | 1 + src/bin/e_hwc_planes.c | 1 + src/bin/e_hwc_windows.c | 1 + src/bin/e_info_server.c | 1 + src/bin/e_info_server_input.c | 1 + src/bin/e_input_device.c | 1 + src/bin/e_input_evdev.c | 1 + src/bin/e_output.c | 1 + src/bin/e_output.h | 112 ++------------------------------------ src/bin/e_output_intern.h | 109 +++++++++++++++++++++++++++++++++++++ src/bin/e_plane.c | 2 +- src/bin/video/iface/e_video_hwc.c | 1 + 17 files changed, 131 insertions(+), 107 deletions(-) create mode 100644 src/bin/e_output_intern.h diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c index b994f73..02e06d7 100644 --- a/src/bin/e_comp_canvas.c +++ b/src/bin/e_comp_canvas.c @@ -2,6 +2,7 @@ #include "e_comp_canvas_intern.h" #include "e_comp_screen_intern.h" #include "e_comp_intern.h" +#include "e_output_intern.h" static Eina_List *handlers; static Eina_Bool _ev_freeze = EINA_FALSE; diff --git a/src/bin/e_comp_screen.c b/src/bin/e_comp_screen.c index 0421bc2..cfb0d76 100644 --- a/src/bin/e_comp_screen.c +++ b/src/bin/e_comp_screen.c @@ -12,6 +12,7 @@ #include "e_input_intern.h" #include "e_error_intern.h" #include "e_pointer_intern.h" +#include "e_output_intern.h" #include "Eeze.h" #include diff --git a/src/bin/e_comp_wl_screenshooter.c b/src/bin/e_comp_wl_screenshooter.c index f7d95fd..4bf3c43 100644 --- a/src/bin/e_comp_wl_screenshooter.c +++ b/src/bin/e_comp_wl_screenshooter.c @@ -5,6 +5,7 @@ #include "e.h" #include "e_comp_wl_screenshooter_intern.h" #include "e_privilege_intern.h" +#include "e_output_intern.h" #include #include diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index 7e69544..f08cf17 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -6,6 +6,7 @@ #include "e_utils_intern.h" #include "e_comp_screen_intern.h" #include "e_comp_wl_subsurface_intern.h" +#include "e_output_intern.h" #include diff --git a/src/bin/e_dpms.c b/src/bin/e_dpms.c index 814c0a1..3fd4f5c 100644 --- a/src/bin/e_dpms.c +++ b/src/bin/e_dpms.c @@ -3,6 +3,8 @@ #endif #include "e.h" +#include "e_output_intern.h" + #include typedef enum _E_Dpms_Mode diff --git a/src/bin/e_eom.c b/src/bin/e_eom.c index 94abd7b..609b58e 100644 --- a/src/bin/e_eom.c +++ b/src/bin/e_eom.c @@ -7,6 +7,7 @@ #include "e_xdg_shell_v6_intern.h" #include "e_comp_screen_intern.h" #include "e_comp_wl_subsurface_intern.h" +#include "e_output_intern.h" #include #include diff --git a/src/bin/e_hwc_planes.c b/src/bin/e_hwc_planes.c index cbc3a1a..f758733 100644 --- a/src/bin/e_hwc_planes.c +++ b/src/bin/e_hwc_planes.c @@ -2,6 +2,7 @@ #include "e_comp_screen_intern.h" #include "e_comp_intern.h" #include "services/e_service_quickpanel.h" +#include "e_output_intern.h" #include diff --git a/src/bin/e_hwc_windows.c b/src/bin/e_hwc_windows.c index 2296d8d..4fba8ff 100644 --- a/src/bin/e_hwc_windows.c +++ b/src/bin/e_hwc_windows.c @@ -6,6 +6,7 @@ #include "e_comp_wl_tizen_hwc_intern.h" #include "e_pixmap_intern.h" #include "e_presentation_time_intern.h" +#include "e_output_intern.h" # include # include diff --git a/src/bin/e_info_server.c b/src/bin/e_info_server.c index 405d861..55e04d0 100644 --- a/src/bin/e_info_server.c +++ b/src/bin/e_info_server.c @@ -18,6 +18,7 @@ #include "e_presentation_time_intern.h" #include "e_policy_intern.h" #include "e_policy_wl_intern.h" +#include "e_output_intern.h" #include #include diff --git a/src/bin/e_info_server_input.c b/src/bin/e_info_server_input.c index f842a33..d2e8b3d 100644 --- a/src/bin/e_info_server_input.c +++ b/src/bin/e_info_server_input.c @@ -3,6 +3,7 @@ #include "e_info_shared_types.h" #include "e_input_private.h" #include "e_comp_screen_intern.h" +#include "e_output_intern.h" #include diff --git a/src/bin/e_input_device.c b/src/bin/e_input_device.c index 090d550..d92e3f7 100644 --- a/src/bin/e_input_device.c +++ b/src/bin/e_input_device.c @@ -2,6 +2,7 @@ #include "e_input_intern.h" #include "e_input_private.h" #include "e_comp_screen_intern.h" +#include "e_output_intern.h" /* e_input_device private variable */ static Eina_List *einput_devices; diff --git a/src/bin/e_input_evdev.c b/src/bin/e_input_evdev.c index 6bcabd7..0fcec6e 100644 --- a/src/bin/e_input_evdev.c +++ b/src/bin/e_input_evdev.c @@ -6,6 +6,7 @@ #include "e_input_event.h" #include "e_devicemgr_intern.h" #include "e_comp_screen_intern.h" +#include "e_output_intern.h" #include diff --git a/src/bin/e_output.c b/src/bin/e_output.c index 92e6d3f..42eb980 100644 --- a/src/bin/e_output.c +++ b/src/bin/e_output.c @@ -1,4 +1,5 @@ #include "e.h" +#include "e_output_intern.h" #include "e_client_intern.h" #include "e_utils_intern.h" #include "e_comp_screen_intern.h" diff --git a/src/bin/e_output.h b/src/bin/e_output.h index 94c74ba..c9ebb04 100644 --- a/src/bin/e_output.h +++ b/src/bin/e_output.h @@ -2,8 +2,13 @@ #include +#define OUTPUT_NAME_LEN 64 + typedef struct _E_Output E_Output; typedef struct _E_Output_Mode E_Output_Mode; + +typedef void (*E_Output_Capture_Cb) (E_Output *output, tbm_surface_h surface, void *user_data); + typedef enum _E_Output_Dpms { E_OUTPUT_DPMS_ON, @@ -19,41 +24,11 @@ typedef enum _E_Output_Display_Mode E_OUTPUT_DISPLAY_MODE_PRESENTATION, } E_Output_Display_Mode; -typedef struct _E_Output_Hook E_Output_Hook; -typedef enum _E_Output_Hook_Point -{ - E_OUTPUT_HOOK_DPMS_CHANGE, - E_OUTPUT_HOOK_CONNECT_STATUS_CHANGE, - E_OUTPUT_HOOK_MODE_CHANGE, - E_OUTPUT_HOOK_ADD, - E_OUTPUT_HOOK_REMOVE, - E_OUTPUT_HOOK_LAST -} E_Output_Hook_Point; -typedef void (*E_Output_Hook_Cb) (void *data, E_Output *output); - -typedef struct _E_Output_Intercept_Hook E_Output_Intercept_Hook; -typedef enum _E_Output_Intercept_Hook_Point -{ - E_OUTPUT_INTERCEPT_HOOK_DPMS_ON, - E_OUTPUT_INTERCEPT_HOOK_DPMS_STANDBY, - E_OUTPUT_INTERCEPT_HOOK_DPMS_SUSPEND, - E_OUTPUT_INTERCEPT_HOOK_DPMS_OFF, - E_OUTPUT_INTERCEPT_HOOK_LAST -} E_Output_Intercept_Hook_Point; -typedef Eina_Bool (*E_Output_Intercept_Hook_Cb) (void *data, E_Output *output); - -typedef void (*E_Output_Capture_Cb) (E_Output *output, tbm_surface_h surface, void *user_data); #else #ifndef E_OUTPUT_H #define E_OUTPUT_H -#define E_OUTPUT_TYPE (int)0xE0b11002 - -#include "e_comp_screen.h" - -#define OUTPUT_NAME_LEN 64 - struct _E_Output_Mode { int w, h; // resolution width and height @@ -154,24 +129,6 @@ struct _E_Output Eina_Bool fake_config; }; -struct _E_Output_Hook -{ - EINA_INLIST; - E_Output_Hook_Point hookpoint; - E_Output_Hook_Cb func; - void *data; - unsigned char delete_me : 1; -}; - -struct _E_Output_Intercept_Hook -{ - EINA_INLIST; - E_Output_Intercept_Hook_Point hookpoint; - E_Output_Intercept_Hook_Cb func; - void *data; - unsigned char delete_me : 1; -}; - /*brief The output prop value union */ typedef union { void *ptr; @@ -198,67 +155,10 @@ typedef struct _output_prop { output_prop_value_type type; } output_prop; -EINTERN Eina_Bool e_output_init(void); -EINTERN void e_output_shutdown(void); -EINTERN E_Output * e_output_new(E_Comp_Screen *e_comp_screen, int index); -EINTERN void e_output_del(E_Output *output); -EINTERN Eina_Bool e_output_rotate(E_Output *output, int rotate); -EINTERN Eina_Bool e_output_update(E_Output *output); -EINTERN Eina_Bool e_output_mode_apply(E_Output *output, E_Output_Mode *mode); -EINTERN Eina_Bool e_output_commit(E_Output *output); -EINTERN Eina_Bool e_output_render(E_Output *output); -EINTERN Eina_Bool e_output_hwc_setup(E_Output *output); -EINTERN E_Output_Mode * e_output_best_mode_find(E_Output *output); -EINTERN Eina_List * e_output_mode_list_get(E_Output *output); -EINTERN E_Output_Mode * e_output_current_mode_get(E_Output *output); -EINTERN Eina_Bool e_output_connected(E_Output *output); -EINTERN Eina_Bool e_output_dpms_set(E_Output *output, E_OUTPUT_DPMS val); -EINTERN E_OUTPUT_DPMS e_output_dpms_get(E_Output *output); -EINTERN Eina_Bool e_output_dpms_async_check(E_Output *output); -EINTERN void e_output_size_get(E_Output *output, int *w, int *h); -EINTERN void e_output_phys_size_get(E_Output *output, int *phys_w, int *phys_h); -EINTERN E_Plane * e_output_default_fb_target_get(E_Output *output); -EINTERN Eina_Bool e_output_fake_config_set(E_Output *output, int w, int h); -EINTERN Eina_Bool e_output_zoom_set(E_Output *output, double zoomx, double zoomy, int cx, int cy); -EINTERN Eina_Bool e_output_zoom_get(E_Output *output, double *zoomx, double *zoomy, int *cx, int *cy); -EINTERN void e_output_zoom_unset(E_Output *output); -EINTERN Eina_Bool e_output_capture(E_Output *output, tbm_surface_h surface, Eina_Bool auto_rotate, Eina_Bool sync, E_Output_Capture_Cb func, void *data); -EINTERN Eina_Bool e_output_stream_capture_queue(E_Output *output, tbm_surface_h surface, E_Output_Capture_Cb func, void *data); -EINTERN Eina_Bool e_output_stream_capture_dequeue(E_Output *output, tbm_surface_h surface); -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 const char * e_output_output_id_get(E_Output *output); - -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); -EINTERN void e_output_mirror_unset(E_Output *output); -EINTERN Eina_Bool e_output_presentation_update(E_Output *output, E_Client *ec); -EINTERN void e_output_presentation_unset(E_Output *output); -EINTERN Eina_Bool e_output_presentation_ec_set(E_Output *output, E_Client *ec); -EINTERN E_Client * e_output_presentation_ec_get(E_Output *output); - -EINTERN E_Output_Display_Mode e_output_display_mode_get(E_Output *output); - -EINTERN void e_output_norender_push(E_Output *output); -EINTERN void e_output_norender_pop(E_Output *output); -EINTERN int e_output_norender_get(E_Output *output); - E_API E_Output * e_output_find(const char *id); -E_API E_Output * e_output_find_by_index(int index); +E_API E_Output * e_output_find_by_index(int index); E_API const Eina_List * e_output_planes_get(E_Output *output); -EINTERN void e_output_util_planes_print(void); -EINTERN Eina_Bool e_output_is_fb_composing(E_Output *output); -EINTERN Eina_Bool e_output_is_fb_full_compositing(E_Output *output); -EINTERN E_Plane * e_output_fb_target_get(E_Output *output); E_API E_Plane * e_output_plane_get_by_zpos(E_Output *output, int zpos); -EINTERN E_Output_Hook * e_output_hook_add(E_Output_Hook_Point hookpoint, E_Output_Hook_Cb func, const void *data); -EINTERN void e_output_hook_del(E_Output_Hook *ch); -EINTERN E_Output_Intercept_Hook * e_output_intercept_hook_add(E_Output_Intercept_Hook_Point hookpoint, E_Output_Intercept_Hook_Cb func, const void *data); -EINTERN void e_output_intercept_hook_del(E_Output_Intercept_Hook *ch); -EINTERN void e_output_zoom_rotating_check(E_Output *output); E_API Eina_Bool e_output_available_properties_get(E_Output *output, const output_prop **props, int *count); E_API Eina_Bool e_output_property_get(E_Output *output, unsigned int id, output_prop_value *value); diff --git a/src/bin/e_output_intern.h b/src/bin/e_output_intern.h new file mode 100644 index 0000000..be80c12 --- /dev/null +++ b/src/bin/e_output_intern.h @@ -0,0 +1,109 @@ +#ifndef E_OUTPUT_INTERN_H +#define E_OUTPUT_INTERN_H + +#define E_OUTPUT_TYPE (int)0xE0b11002 + +#include + +typedef struct _E_Output_Hook E_Output_Hook; +typedef struct _E_Output_Intercept_Hook E_Output_Intercept_Hook; + +typedef void (*E_Output_Hook_Cb) (void *data, E_Output *output); +typedef Eina_Bool (*E_Output_Intercept_Hook_Cb) (void *data, E_Output *output); + +typedef enum _E_Output_Hook_Point +{ + E_OUTPUT_HOOK_DPMS_CHANGE, + E_OUTPUT_HOOK_CONNECT_STATUS_CHANGE, + E_OUTPUT_HOOK_MODE_CHANGE, + E_OUTPUT_HOOK_ADD, + E_OUTPUT_HOOK_REMOVE, + E_OUTPUT_HOOK_LAST +} E_Output_Hook_Point; + +typedef enum _E_Output_Intercept_Hook_Point +{ + E_OUTPUT_INTERCEPT_HOOK_DPMS_ON, + E_OUTPUT_INTERCEPT_HOOK_DPMS_STANDBY, + E_OUTPUT_INTERCEPT_HOOK_DPMS_SUSPEND, + E_OUTPUT_INTERCEPT_HOOK_DPMS_OFF, + E_OUTPUT_INTERCEPT_HOOK_LAST +} E_Output_Intercept_Hook_Point; + +struct _E_Output_Hook +{ + EINA_INLIST; + E_Output_Hook_Point hookpoint; + E_Output_Hook_Cb func; + void *data; + unsigned char delete_me : 1; +}; + +struct _E_Output_Intercept_Hook +{ + EINA_INLIST; + E_Output_Intercept_Hook_Point hookpoint; + E_Output_Intercept_Hook_Cb func; + void *data; + unsigned char delete_me : 1; +}; + +EINTERN Eina_Bool e_output_init(void); +EINTERN void e_output_shutdown(void); +EINTERN E_Output * e_output_new(E_Comp_Screen *e_comp_screen, int index); +EINTERN void e_output_del(E_Output *output); +EINTERN Eina_Bool e_output_rotate(E_Output *output, int rotate); +EINTERN Eina_Bool e_output_update(E_Output *output); +EINTERN Eina_Bool e_output_mode_apply(E_Output *output, E_Output_Mode *mode); +EINTERN Eina_Bool e_output_commit(E_Output *output); +EINTERN Eina_Bool e_output_render(E_Output *output); +EINTERN Eina_Bool e_output_hwc_setup(E_Output *output); +EINTERN E_Output_Mode * e_output_best_mode_find(E_Output *output); +EINTERN Eina_List * e_output_mode_list_get(E_Output *output); +EINTERN E_Output_Mode * e_output_current_mode_get(E_Output *output); +EINTERN Eina_Bool e_output_connected(E_Output *output); +EINTERN Eina_Bool e_output_dpms_set(E_Output *output, E_OUTPUT_DPMS val); +EINTERN E_OUTPUT_DPMS e_output_dpms_get(E_Output *output); +EINTERN Eina_Bool e_output_dpms_async_check(E_Output *output); +EINTERN void e_output_size_get(E_Output *output, int *w, int *h); +EINTERN void e_output_phys_size_get(E_Output *output, int *phys_w, int *phys_h); +EINTERN E_Plane * e_output_default_fb_target_get(E_Output *output); +EINTERN Eina_Bool e_output_fake_config_set(E_Output *output, int w, int h); +EINTERN Eina_Bool e_output_zoom_set(E_Output *output, double zoomx, double zoomy, int cx, int cy); +EINTERN Eina_Bool e_output_zoom_get(E_Output *output, double *zoomx, double *zoomy, int *cx, int *cy); +EINTERN void e_output_zoom_unset(E_Output *output); +EINTERN Eina_Bool e_output_capture(E_Output *output, tbm_surface_h surface, Eina_Bool auto_rotate, Eina_Bool sync, E_Output_Capture_Cb func, void *data); +EINTERN Eina_Bool e_output_stream_capture_queue(E_Output *output, tbm_surface_h surface, E_Output_Capture_Cb func, void *data); +EINTERN Eina_Bool e_output_stream_capture_dequeue(E_Output *output, tbm_surface_h surface); +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 const char * e_output_output_id_get(E_Output *output); + +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); +EINTERN void e_output_mirror_unset(E_Output *output); +EINTERN Eina_Bool e_output_presentation_update(E_Output *output, E_Client *ec); +EINTERN void e_output_presentation_unset(E_Output *output); +EINTERN Eina_Bool e_output_presentation_ec_set(E_Output *output, E_Client *ec); +EINTERN E_Client * e_output_presentation_ec_get(E_Output *output); + +EINTERN E_Output_Display_Mode e_output_display_mode_get(E_Output *output); + +EINTERN void e_output_norender_push(E_Output *output); +EINTERN void e_output_norender_pop(E_Output *output); +EINTERN int e_output_norender_get(E_Output *output); + +EINTERN void e_output_util_planes_print(void); +EINTERN Eina_Bool e_output_is_fb_composing(E_Output *output); +EINTERN Eina_Bool e_output_is_fb_full_compositing(E_Output *output); +EINTERN E_Plane * e_output_fb_target_get(E_Output *output); +EINTERN E_Output_Hook * e_output_hook_add(E_Output_Hook_Point hookpoint, E_Output_Hook_Cb func, const void *data); +EINTERN void e_output_hook_del(E_Output_Hook *ch); +EINTERN E_Output_Intercept_Hook * e_output_intercept_hook_add(E_Output_Intercept_Hook_Point hookpoint, E_Output_Intercept_Hook_Cb func, const void *data); +EINTERN void e_output_intercept_hook_del(E_Output_Intercept_Hook *ch); +EINTERN void e_output_zoom_rotating_check(E_Output *output); + +#endif diff --git a/src/bin/e_plane.c b/src/bin/e_plane.c index cb20508..c01dca3 100644 --- a/src/bin/e_plane.c +++ b/src/bin/e_plane.c @@ -3,9 +3,9 @@ #include "e_comp_screen_intern.h" #include "e_comp_wl_intern.h" #include "e_pointer_intern.h" +#include "e_output_intern.h" #include - # include # include # include diff --git a/src/bin/video/iface/e_video_hwc.c b/src/bin/video/iface/e_video_hwc.c index 429e7ab..4d98d3d 100644 --- a/src/bin/video/iface/e_video_hwc.c +++ b/src/bin/video/iface/e_video_hwc.c @@ -8,6 +8,7 @@ #include "e_comp_wl_intern.h" #include "e_comp_wl_subsurface_intern.h" #include "e_comp_wl_viewport_intern.h" +#include "e_output_intern.h" #include -- 2.7.4