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

Reply via email to