From cb0e015856ea7d0d08cff4f1aa991cffc9cc06ee Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan.olivier@wanadoo.fr>
Date: Wed, 3 May 2006 21:13:15 +0000
Subject: [PATCH] Copy event filter from libxfcegui4.

(Old svn revision: 21467)
---
 src/gtktoxevent.h | 85 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)
 create mode 100644 src/gtktoxevent.h

diff --git a/src/gtktoxevent.h b/src/gtktoxevent.h
new file mode 100644
index 000000000..de6b82fa3
--- /dev/null
+++ b/src/gtktoxevent.h
@@ -0,0 +1,85 @@
+/*
+ * xfce4    - (c) 2002-2004 Olivier Fourdan
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GTKTOXEVENT_H__
+#define __GTKTOXEVENT_H__
+
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <X11/Xlib.h>
+
+G_BEGIN_DECLS
+
+/* this formatting is needed by glib-mkenums */
+typedef enum /*< prefix=XEV_FILTER_ >*/ {
+    XEV_FILTER_STOP = TRUE,
+    XEV_FILTER_CONTINUE = FALSE
+}
+XfceFilterStatus;
+
+typedef XfceFilterStatus (*XfceFilter) (XEvent * xevent, gpointer data);
+
+typedef struct XfceFilterStack
+{
+    XfceFilter filter;
+    gpointer data;
+    struct XfceFilterStack *next;
+}
+XfceFilterStack;
+
+typedef struct XfceFilterSetup
+{
+    XfceFilterStack *filterstack;
+}
+XfceFilterSetup;
+
+XfceFilterStack *xfce_push_event_filter  (XfceFilterSetup *setup,
+                                          XfceFilter filter,
+                                          gpointer data);
+XfceFilterStack * xfce_pop_event_filter  (XfceFilterSetup *setup);
+GdkWindow * xfce_add_event_win           (GdkScreen *gscr, 
+                                          long event_mask);
+XfceFilterSetup * xfce_init_event_filter (gpointer data);
+void xfce_close_event_filter             (XfceFilterSetup *setup);
+
+#ifndef XFCE_DISABLE_DEPRECATED
+
+#define GtkToXEventFilterStatus XfceFilterStatus
+#define GtkToXEventFilterStack  XfceFilterStack
+
+typedef GtkToXEventFilterStatus (*GtkToXEventFilter) (XEvent * xevent,
+                                                      gpointer data);
+
+GtkToXEventFilterStack *pushEventFilter (GtkToXEventFilter filter,
+                                         gpointer data);
+GtkToXEventFilterStack *popEventFilter  (void);
+GtkToXEventFilterStack *initEventFilter (long event_mask, 
+                                         gpointer data,
+                                         const gchar * widget_name);
+void closeEventFilter                   (void);
+GtkWidget *getDefaultGtkWidget          (void);
+Window getDefaultXWindow                (void);
+GdkWindow *getGdkEventWindow            (void);
+GdkWindow *getDefaultGdkWindow          (void);
+
+#endif /* XFCE_DISABLE_DEPRECATED */
+
+G_END_DECLS
+
+#endif /* __GTKTOXEVENT_H__ */
-- 
GitLab