Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_fb
Modified Files:
Tag: SPLIT
ecore_fb.c
Log Message:
prune fb mouse events :)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_fb/Attic/ecore_fb.c,v
retrieving revision 1.1.2.14
retrieving revision 1.1.2.15
diff -u -3 -r1.1.2.14 -r1.1.2.15
--- ecore_fb.c 8 Apr 2003 08:03:23 -0000 1.1.2.14
+++ ecore_fb.c 13 Jul 2003 08:22:25 -0000 1.1.2.15
@@ -94,6 +94,7 @@
int ECORE_FB_EVENT_MOUSE_MOVE = 0;
static Ecore_Event_Handler *_ecore_fb_user_handler = NULL;
+static Ecore_Event_Filter *_ecore_fb_filter_handler = NULL;
static Ecore_Fd_Handler *_ecore_fb_ts_fd_handler_handle = NULL;
static Ecore_Fd_Handler *_ecore_fb_kbd_fd_handler_handle = NULL;
static int _ecore_fb_init_count = 0;
@@ -120,6 +121,10 @@
static void (*_ecore_fb_func_fb_gain) (void *data) = NULL;
static void *_ecore_fb_func_fb_gain_data = NULL;
+static void *_ecore_fb_event_filter_start(void *data);
+static int _ecore_fb_event_filter_filter(void *data, void *loop_data, int type,
void *event);
+static void _ecore_fb_event_filter_end(void *data, void *loop_data);
+
static double _ecore_fb_double_click_time = 0.25;
static char *_ecore_fb_kbd_syms[128] =
@@ -503,6 +508,7 @@
_ecore_fb_user_handler = ecore_event_handler_add(ECORE_EVENT_SIGNAL_USER,
_ecore_fb_signal_usr_handler,
NULL);
+ _ecore_fb_filter_handler = ecore_event_filter_add(_ecore_fb_event_filter_start,
_ecore_fb_event_filter_filter, _ecore_fb_event_filter_end, NULL);
return _ecore_fb_init_count;
}
@@ -541,11 +547,13 @@
ecore_main_fd_handler_del(_ecore_fb_kbd_fd_handler_handle);
if (_ecore_fb_user_handler)
ecore_event_handler_del(_ecore_fb_user_handler);
+ ecore_event_filter_del(_ecore_fb_filter_handler);
_ecore_fb_ts_fd = 0;
_ecore_fb_kbd_fd = 0;
_ecore_fb_tty_fd = 0;
_ecore_fb_ps2_fd = 0;
_ecore_fb_ts_fd_handler_handle = NULL;
+ _ecore_fb_filter_handler = NULL;
_ecore_fb_kbd_fd_handler_handle = NULL;
_ecore_fb_user_handler = NULL;
_ecore_fb_ctrl = 0;
@@ -1275,4 +1283,48 @@
}
}
ioctl(_ecore_fb_tty_fd, VT_ACTIVATE, vt);
+}
+
+typedef struct _Ecore_Fb_Filter_Data Ecore_Fb_Filter_Data;
+
+struct _Ecore_Fb_Filter_Data
+{
+ int last_event_type;
+};
+
+static void *
+_ecore_fb_event_filter_start(void *data)
+{
+ Ecore_Fb_Filter_Data *filter_data;
+
+ filter_data = calloc(1, sizeof(Ecore_Fb_Filter_Data));
+ return filter_data;
+}
+
+static int
+_ecore_fb_event_filter_filter(void *data, void *loop_data,int type, void *event)
+{
+ Ecore_Fb_Filter_Data *filter_data;
+
+ filter_data = loop_data;
+ if (!filter_data) return 1;
+ if (type == ECORE_FB_EVENT_MOUSE_MOVE)
+ {
+ if ((filter_data->last_event_type) == ECORE_FB_EVENT_MOUSE_MOVE)
+ {
+ filter_data->last_event_type = type;
+ return 0;
+ }
+ }
+ filter_data->last_event_type = type;
+ return 1;
+}
+
+static void
+_ecore_fb_event_filter_end(void *data, void *loop_data)
+{
+ Ecore_Fb_Filter_Data *filter_data;
+
+ filter_data = loop_data;
+ if (filter_data) free(filter_data);
}
-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs