e_bindings: make an internal header 35/304935/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 12 Jan 2024 08:04:34 +0000 (17:04 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 26 Jan 2024 00:59:16 +0000 (09:59 +0900)
Move the internal resources and the function declaration
to the internal header.

Change-Id: I404924c93874f8c659cc9f0b8745ca36abf91957

src/bin/e_bindings.c
src/bin/e_bindings.h
src/bin/e_bindings_intern.h [new file with mode: 0644]
src/bin/e_client.c
src/bin/e_comp_object.c
src/bin/e_comp_wl_shell.c
src/bin/e_zone.c

index 60dc00c..15d5cdf 100644 (file)
@@ -1,4 +1,5 @@
 #include "e.h"
+#include "e_bindings_intern.h"
 #include "e_actions_intern.h"
 
 /* local subsystem functions */
index bc9840f..d884e5d 100644 (file)
@@ -1,5 +1,6 @@
 #ifdef E_TYPEDEFS
 
+#if 0
 typedef enum _E_Binding_Context
 {
    E_BINDING_CONTEXT_NONE,
@@ -32,6 +33,7 @@ typedef struct _E_Binding_Mouse  E_Binding_Mouse;
 typedef struct _E_Binding_Key    E_Binding_Key;
 typedef struct _E_Binding_Signal E_Binding_Signal;
 typedef struct _E_Binding_Wheel  E_Binding_Wheel;
+#endif
 
 typedef struct E_Binding_Event_Mouse_Button E_Binding_Event_Mouse_Button;
 typedef struct E_Binding_Event_Wheel E_Binding_Event_Wheel;
@@ -40,6 +42,7 @@ typedef struct E_Binding_Event_Wheel E_Binding_Event_Wheel;
 #ifndef E_BINDINGS_H
 #define E_BINDINGS_H
 
+#if 0
 struct E_Binding_Event_Mouse_Button
 {
    int               button; /**< Mouse button number that was raised (1 - 32) */
@@ -156,6 +159,7 @@ EINTERN void e_bindings_evas_event_mouse_up_button_convert(const Evas_Event_Mous
 EINTERN void e_bindings_evas_event_mouse_wheel_convert(const Evas_Event_Mouse_Wheel *ev, E_Binding_Event_Wheel *event);
 EINTERN void e_bindings_ecore_event_mouse_button_convert(const Ecore_Event_Mouse_Button *ev, E_Binding_Event_Mouse_Button *event);
 EINTERN void e_bindings_ecore_event_mouse_wheel_convert(const Ecore_Event_Mouse_Wheel *ev, E_Binding_Event_Wheel *event);
+#endif
 
 #endif
 #endif
diff --git a/src/bin/e_bindings_intern.h b/src/bin/e_bindings_intern.h
new file mode 100644 (file)
index 0000000..071d762
--- /dev/null
@@ -0,0 +1,157 @@
+#ifndef E_BINDINGS_INTERN_H
+#define E_BINDINGS_INTERN_H
+
+typedef enum _E_Binding_Context
+{
+   E_BINDING_CONTEXT_NONE,
+   E_BINDING_CONTEXT_UNKNOWN,
+   E_BINDING_CONTEXT_WINDOW,
+   E_BINDING_CONTEXT_ZONE,
+   E_BINDING_CONTEXT_COMPOSITOR,
+   E_BINDING_CONTEXT_MANAGER,
+   E_BINDING_CONTEXT_MENU,
+   E_BINDING_CONTEXT_WINLIST,
+   E_BINDING_CONTEXT_POPUP,
+   E_BINDING_CONTEXT_ANY
+} E_Binding_Context;
+
+/* why do we do this? config stored bindings must be fixed. x's modifier masks
+ * may change from time to time, xserver to xserver - so we can't do a
+ * simple match without translating to fixed values
+ */
+typedef enum _E_Binding_Modifier
+{
+   E_BINDING_MODIFIER_NONE = 0,
+   E_BINDING_MODIFIER_SHIFT = (1 << 0),
+   E_BINDING_MODIFIER_CTRL = (1 << 1),
+   E_BINDING_MODIFIER_ALT = (1 << 2),
+   E_BINDING_MODIFIER_WIN = (1 << 3),
+   E_BINDING_MODIFIER_ALTGR = (1 << 4)
+} E_Binding_Modifier;
+
+typedef struct _E_Binding_Mouse  E_Binding_Mouse;
+typedef struct _E_Binding_Key    E_Binding_Key;
+typedef struct _E_Binding_Signal E_Binding_Signal;
+typedef struct _E_Binding_Wheel  E_Binding_Wheel;
+
+typedef struct E_Binding_Event_Mouse_Button E_Binding_Event_Mouse_Button;
+typedef struct E_Binding_Event_Wheel E_Binding_Event_Wheel;
+
+struct E_Binding_Event_Mouse_Button
+{
+   int               button; /**< Mouse button number that was raised (1 - 32) */
+
+   Evas_Coord_Point  canvas; /**< The X/Y location of the cursor */
+
+   unsigned int modifiers; /**< modifier keys pressed during the event */
+   unsigned int timestamp;
+   Eina_Bool double_click : 1;
+   Eina_Bool triple_click : 1;
+   Eina_Bool hold : 1;
+   Eina_Bool scroll : 1;
+};
+
+struct E_Binding_Event_Wheel
+{
+   int direction;
+   int z;
+
+   Evas_Coord_Point  canvas; /**< The X/Y location of the cursor */
+
+   unsigned int modifiers; /**< modifier keys pressed during the event */
+   unsigned int timestamp;
+};
+
+struct _E_Binding_Mouse
+{
+   E_Binding_Context ctxt;
+   int button;
+   E_Binding_Modifier mod;
+   unsigned char any_mod : 1;
+   const char *action;
+   const char *params;
+};
+
+struct _E_Binding_Key
+{
+   E_Binding_Context ctxt;
+   const char *key;
+   E_Binding_Modifier mod;
+   unsigned char any_mod : 1;
+   const char *action;
+   const char *params;
+};
+
+struct _E_Binding_Signal
+{
+   E_Binding_Context ctxt;
+   const char *sig;
+   const char *src;
+   E_Binding_Modifier mod;
+   unsigned char any_mod : 1;
+   const char *action;
+   const char *params;
+};
+
+struct _E_Binding_Wheel
+{
+   E_Binding_Context ctxt;
+   int direction;
+   int z;
+   E_Binding_Modifier mod;
+   unsigned char any_mod : 1;
+   const char *action;
+   const char *params;
+};
+
+EINTERN int         e_bindings_init(void);
+EINTERN int         e_bindings_shutdown(void);
+
+EINTERN void        e_bindings_mouse_reset(void);
+EINTERN void        e_bindings_key_reset(void);
+EINTERN void        e_bindings_wheel_reset(void);
+EINTERN void        e_bindings_signal_reset(void);
+EINTERN void        e_bindings_reset(void);
+
+EINTERN void        e_bindings_mouse_add(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN void        e_bindings_mouse_del(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN E_Action   *e_bindings_mouse_button_find(E_Binding_Context ctxt, E_Binding_Event_Mouse_Button *ev, E_Binding_Mouse **bind_ret);
+EINTERN E_Action   *e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Binding_Event_Mouse_Button *ev);
+EINTERN E_Action   *e_bindings_mouse_down_evas_event_handle(E_Binding_Context ctxt, E_Object *obj, Evas_Event_Mouse_Down *ev);
+EINTERN E_Action   *e_bindings_mouse_down_ecore_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Button *ev);
+EINTERN E_Action   *e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Binding_Event_Mouse_Button *ev);
+EINTERN E_Action   *e_bindings_mouse_up_evas_event_handle(E_Binding_Context ctxt, E_Object *obj, Evas_Event_Mouse_Up *ev);
+EINTERN E_Action   *e_bindings_mouse_up_ecore_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Button *ev);
+
+EINTERN void        e_bindings_key_add(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN void        e_bindings_key_del(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN E_Binding_Key *e_bindings_key_get(const char *action);
+EINTERN E_Binding_Key *e_bindings_key_find(const char *key, E_Binding_Modifier mod, int any_mod);
+EINTERN E_Action   *e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Key *ev);
+EINTERN E_Action   *e_bindings_key_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Key *ev);
+EINTERN E_Action   *e_bindings_key_down_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev);
+EINTERN E_Action   *e_bindings_key_up_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev);
+
+EINTERN Eina_Bool   e_bindings_key_allowed(const char *key);
+
+EINTERN void        e_bindings_signal_add(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN void        e_bindings_signal_del(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN E_Action   *e_bindings_signal_find(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Signal **bind_ret);
+EINTERN E_Action   *e_bindings_signal_handle(E_Binding_Context ctxt, E_Object *obj, const char *sig, const char *src);
+
+EINTERN void        e_bindings_wheel_add(E_Binding_Context ctxt, int direction, int z, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN void        e_bindings_wheel_del(E_Binding_Context ctxt, int direction, int z, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
+EINTERN E_Action   *e_bindings_wheel_find(E_Binding_Context ctxt, E_Binding_Event_Wheel *ev, E_Binding_Wheel **bind_ret);
+EINTERN E_Action   *e_bindings_wheel_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Binding_Event_Wheel *ev);
+EINTERN E_Action   *e_bindings_wheel_evas_event_handle(E_Binding_Context ctxt, E_Object *obj, Evas_Event_Mouse_Wheel *ev);
+EINTERN E_Action   *e_bindings_wheel_ecore_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Wheel *ev);
+
+EINTERN int e_bindings_evas_modifiers_convert(Evas_Modifier *modifiers);
+EINTERN int e_bindings_modifiers_to_ecore_convert(E_Binding_Modifier modifiers);
+EINTERN void e_bindings_evas_event_mouse_down_button_convert(const Evas_Event_Mouse_Down *ev, E_Binding_Event_Mouse_Button *event);
+EINTERN void e_bindings_evas_event_mouse_up_button_convert(const Evas_Event_Mouse_Up *ev, E_Binding_Event_Mouse_Button *event);
+EINTERN void e_bindings_evas_event_mouse_wheel_convert(const Evas_Event_Mouse_Wheel *ev, E_Binding_Event_Wheel *event);
+EINTERN void e_bindings_ecore_event_mouse_button_convert(const Ecore_Event_Mouse_Button *ev, E_Binding_Event_Mouse_Button *event);
+EINTERN void e_bindings_ecore_event_mouse_wheel_convert(const Ecore_Event_Mouse_Wheel *ev, E_Binding_Event_Wheel *event);
+
+#endif
index 9bea07f..d5fb60e 100644 (file)
@@ -2,6 +2,7 @@
 #include "e_client_intern.h"
 #include "e_actions_intern.h"
 #include "e_appinfo_intern.h"
+#include "e_bindings_intern.h"
 
 #define PRI(ec) ((E_Client_Private *)e_object_data_get(E_OBJECT(ec)))
 
index c6b9ab5..0af3704 100644 (file)
@@ -2,6 +2,7 @@
 #ifdef REFACTOR_DESK_AREA
 #include "e_comp_object_intern.h"
 #endif
+#include "e_bindings_intern.h"
 
 /* data keys:
 
index 6561a5d..c19b5cb 100644 (file)
@@ -1,6 +1,7 @@
 #include "e.h"
 #include "e_client_intern.h"
 #include "e_actions_intern.h"
+#include "e_bindings_intern.h"
 #include <xdg-shell-unstable-v5-server-protocol.h>
 #include <xdg-shell-unstable-v6-server-protocol.h>
 #include <tizen-extension-server-protocol.h>
index e729913..a278839 100644 (file)
@@ -4,6 +4,7 @@
 #include "e_actions_intern.h"
 #include "e_appinfo_intern.h"
 #include "e_bg_intern.h"
+#include "e_bindings_intern.h"
 
 #include <libds-tizen/screen.h>