diff gtk/browser.cpp @ 622:fb59f9eeeecd

SUpport for embedded mozilla/firefox widget
author mhessling@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 07 Apr 2008 06:59:45 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gtk/browser.cpp	Mon Apr 07 06:59:45 2008 +0000
@@ -0,0 +1,52 @@
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#define MOZILLA_INTERNAL_API
+
+#include <gtk/gtk.h>
+#include <gtkmozembed.h>
+#include <gtkmozembed_internal.h>
+#include "nsIDOMMouseEvent.h"
+
+/**
+ * Takes a pointer to a mouse event and returns the mouse
+ *  button number or -1 on error.
+ */
+extern "C" gint mozilla_get_mouse_event_button(gpointer event)
+{
+   gint  button = 0;
+   glong x,y;
+
+   g_return_val_if_fail (event, -1);
+
+   /* the following lines were found in the Galeon source */
+   nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
+   aMouseEvent->GetButton ((PRUint16 *) &button);
+   aMouseEvent->GetClientX ((PRInt32 *) &x);
+   aMouseEvent->GetClientY ((PRInt32 *) &y);
+
+
+   /* for some reason we get different numbers on PPC, this fixes
+    * that up... -- MattA */
+   if (button == 65536)
+   {
+      button = 1;
+   }
+   else if (button == 131072)
+   {
+      button = 2;
+   }
+
+   return button;
+}
+extern "C" gint mozilla_get_mouse_location( gpointer event, glong *x, glong *y)
+{
+   g_return_val_if_fail (event, -1);
+
+   /* the following lines were found in the Galeon source */
+   nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
+   aMouseEvent->GetClientX ((PRInt32 *) x);
+   aMouseEvent->GetClientY ((PRInt32 *) y);
+   return 0;
+}