static Eina_Bool _output_cb_window_damage(void *data EINA_UNUSED, int type EINA_UNUSED, void *event);
static Eina_Bool _output_cb_window_destroy(void *data EINA_UNUSED, int type EINA_UNUSED, void *event);
static Eina_Bool _output_cb_window_mouse_move(void *data EINA_UNUSED, int type EINA_UNUSED, void *event);
+static Eina_Bool _output_cb_window_mouse_down(void *data EINA_UNUSED, int type EINA_UNUSED, void *event);
+static Eina_Bool _output_cb_window_mouse_up(void *data EINA_UNUSED, int type EINA_UNUSED, void *event);
/* local variables */
static E_Compositor_X11 *_e_x11_comp;
_output_cb_window_destroy, NULL);
E_LIST_HANDLER_APPEND(_hdlrs, ECORE_EVENT_MOUSE_MOVE,
_output_cb_window_mouse_move, NULL);
+ E_LIST_HANDLER_APPEND(_hdlrs, ECORE_EVENT_MOUSE_BUTTON_DOWN,
+ _output_cb_window_mouse_down, NULL);
+ E_LIST_HANDLER_APPEND(_hdlrs, ECORE_EVENT_MOUSE_BUTTON_UP,
+ _output_cb_window_mouse_up, NULL);
/* flush any pending events
*
return ECORE_CALLBACK_PASS_ON;
}
+
+static Eina_Bool
+_output_cb_window_mouse_down(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+{
+ Ecore_Event_Mouse_Button *ev;
+ E_Output_X11 *output;
+ Eina_List *l;
+
+ ev = event;
+
+ /* loop the existing outputs */
+ EINA_LIST_FOREACH(_e_x11_comp->base.outputs, l, output)
+ {
+ /* try to match the output window */
+ if (ev->window == output->win)
+ {
+ printf("Send Mouse Down !!\n");
+ break;
+ }
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+static Eina_Bool
+_output_cb_window_mouse_up(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+{
+ Ecore_Event_Mouse_Button *ev;
+ E_Output_X11 *output;
+ Eina_List *l;
+
+ ev = event;
+
+ /* loop the existing outputs */
+ EINA_LIST_FOREACH(_e_x11_comp->base.outputs, l, output)
+ {
+ /* try to match the output window */
+ if (ev->window == output->win)
+ {
+ printf("Send Mouse Up !!\n");
+ break;
+ }
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}