From 9a34cff524489a145a1493ae66cc6db3135eac77 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Sun, 21 Jan 2024 08:53:19 +0900 Subject: [PATCH] e_dnd: make an internal header Move the internal resources and the function declaration to the internal header Change-Id: I37a83aa09a2407900f1f07626da6c06d2049866f --- src/bin/e_comp_wl.c | 1 + src/bin/e_comp_wl_data.c | 1 + src/bin/e_dnd.c | 1 + src/bin/e_dnd.h | 60 ------------------------------ src/bin/e_dnd_intern.h | 64 ++++++++++++++++++++++++++++++++ src/bin/e_main.c | 1 + src/bin/services/e_service_kvm.c | 1 + 7 files changed, 69 insertions(+), 60 deletions(-) create mode 100644 src/bin/e_dnd_intern.h diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 7e31cbe83a..21a1aa6195 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -29,6 +29,7 @@ #include "e_presentation_time_intern.h" #include "e_grabinput_intern.h" #include "e_env_intern.h" +#include "e_dnd_intern.h" #include #include diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c index a0e98d58a7..b64532a329 100644 --- a/src/bin/e_comp_wl_data.c +++ b/src/bin/e_comp_wl_data.c @@ -4,6 +4,7 @@ #include "e_comp_wl_input_intern.h" #include "e_comp_canvas_intern.h" #include "e_comp_wl_intern.h" +#include "e_dnd_intern.h" typedef struct { int src_fd; diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c index 3058dbe31c..0432376705 100644 --- a/src/bin/e_dnd.c +++ b/src/bin/e_dnd.c @@ -1,4 +1,5 @@ #include "e.h" +#include "e_dnd_intern.h" #include "e_comp_wl_data_intern.h" #include "e_grabinput_intern.h" diff --git a/src/bin/e_dnd.h b/src/bin/e_dnd.h index 1efe1bd4f9..0aa9920799 100644 --- a/src/bin/e_dnd.h +++ b/src/bin/e_dnd.h @@ -1,70 +1,10 @@ #ifdef E_TYPEDEFS typedef struct _E_Drag E_Drag; -typedef struct _E_Drag_Hook E_Drag_Hook; #else #ifndef E_DND_H #define E_DND_H -#define E_DRAG_TYPE 0xE0b0100f - -typedef enum _E_Drag_Hook_Point -{ - E_DRAG_HOOK_DRAG_START, - E_DRAG_HOOK_DRAG_END, - E_DRAG_HOOK_LAST, -} E_Drag_Hook_Point; - -typedef enum _E_Dnd_Drop_Type -{ - E_DND_DRAG_TYPE_DROPPED, - E_DND_DRAG_TYPE_CANCELLED, -} E_Dnd_Drop_Type; - -typedef void (*E_Drag_Hook_Cb)(void *data, E_Drag *drag); -typedef void (*E_Drag_Finished_Cb)(E_Drag *drag, E_Dnd_Drop_Type type); - -struct _E_Drag -{ - E_Object e_obj_inherit; - struct - { - E_Drag_Finished_Cb finished; - } cb; - - Evas *evas; - Evas_Object *comp_object; - Evas_Object *object; - - int x, y, w, h; - int dx, dy; - int angle; - unsigned int button_mask; - - unsigned char visible : 1; - Eina_Bool input_grab; -}; - -EINTERN int e_dnd_init(void); -EINTERN int e_dnd_shutdown(void); - -EINTERN E_Drag *e_drag_current_get(void); -/* x and y are the top left coords of the object that is to be dragged */ -EINTERN E_Drag *e_drag_new(int x, int y, E_Drag_Finished_Cb finished_cb); -EINTERN Evas *e_drag_evas_get(const E_Drag *drag); -EINTERN void e_drag_object_set(E_Drag *drag, Evas_Object *object); -EINTERN void e_drag_reference_point_set(E_Drag *drag, int x, int y); -EINTERN void e_drag_move(E_Drag *drag, int x, int y); -EINTERN void e_drag_resize(E_Drag *drag, int w, int h); - -/* x and y are the coords where the mouse is when dragging starts */ -EINTERN int e_drag_start(E_Drag *drag, int x, int y); -EINTERN void e_drag_end(E_Drag *drag, E_Dnd_Drop_Type type); - - -EINTERN E_Drag_Hook * e_drag_hook_add(E_Drag_Hook_Point hookpoint, E_Drag_Hook_Cb func, const void *data); -EINTERN void e_drag_hook_del(E_Drag_Hook *hook); - #endif #endif diff --git a/src/bin/e_dnd_intern.h b/src/bin/e_dnd_intern.h new file mode 100644 index 0000000000..9c17ac2d33 --- /dev/null +++ b/src/bin/e_dnd_intern.h @@ -0,0 +1,64 @@ +#ifndef E_DND_INTERN_H +#define E_DND_INTERN_H + +#define E_DRAG_TYPE 0xE0b0100f + +typedef struct _E_Drag_Hook E_Drag_Hook; + +typedef enum _E_Drag_Hook_Point +{ + E_DRAG_HOOK_DRAG_START, + E_DRAG_HOOK_DRAG_END, + E_DRAG_HOOK_LAST, +} E_Drag_Hook_Point; + +typedef enum _E_Dnd_Drop_Type +{ + E_DND_DRAG_TYPE_DROPPED, + E_DND_DRAG_TYPE_CANCELLED, +} E_Dnd_Drop_Type; + +typedef void (*E_Drag_Hook_Cb)(void *data, E_Drag *drag); +typedef void (*E_Drag_Finished_Cb)(E_Drag *drag, E_Dnd_Drop_Type type); + +struct _E_Drag +{ + E_Object e_obj_inherit; + struct + { + E_Drag_Finished_Cb finished; + } cb; + + Evas *evas; + Evas_Object *comp_object; + Evas_Object *object; + + int x, y, w, h; + int dx, dy; + int angle; + unsigned int button_mask; + + unsigned char visible : 1; + Eina_Bool input_grab; +}; + +EINTERN int e_dnd_init(void); +EINTERN int e_dnd_shutdown(void); + +EINTERN E_Drag *e_drag_current_get(void); +/* x and y are the top left coords of the object that is to be dragged */ +EINTERN E_Drag *e_drag_new(int x, int y, E_Drag_Finished_Cb finished_cb); +EINTERN Evas *e_drag_evas_get(const E_Drag *drag); +EINTERN void e_drag_object_set(E_Drag *drag, Evas_Object *object); +EINTERN void e_drag_reference_point_set(E_Drag *drag, int x, int y); +EINTERN void e_drag_move(E_Drag *drag, int x, int y); +EINTERN void e_drag_resize(E_Drag *drag, int w, int h); + +/* x and y are the coords where the mouse is when dragging starts */ +EINTERN int e_drag_start(E_Drag *drag, int x, int y); +EINTERN void e_drag_end(E_Drag *drag, E_Dnd_Drop_Type type); + +EINTERN E_Drag_Hook *e_drag_hook_add(E_Drag_Hook_Point hookpoint, E_Drag_Hook_Cb func, const void *data); +EINTERN void e_drag_hook_del(E_Drag_Hook *hook); + +#endif diff --git a/src/bin/e_main.c b/src/bin/e_main.c index 0b276b5130..8052f66993 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -28,6 +28,7 @@ #include "e_gesture_intern.h" #include "e_env_intern.h" #include "e_dpms_intern.h" +#include "e_dnd_intern.h" #ifdef __linux__ # include diff --git a/src/bin/services/e_service_kvm.c b/src/bin/services/e_service_kvm.c index 707f0e8303..2b1c86526c 100644 --- a/src/bin/services/e_service_kvm.c +++ b/src/bin/services/e_service_kvm.c @@ -2,6 +2,7 @@ #include "services/e_service_kvm.h" #include "e_comp_wl_data_intern.h" #include "e_comp_wl_intern.h" +#include "e_dnd_intern.h" #include #include -- 2.34.1