annotate gtk/browser.cpp @ 723:37c8d2b4cec5

Initial key press event/signal handling... does not seem to trap on all controls... perhaps they need focus? Will have to see what to do about that.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 14 Mar 2011 01:57:33 +0000
parents fb59f9eeeecd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
622
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 #ifdef HAVE_CONFIG_H
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2 # include <config.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3 #endif
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5 #define MOZILLA_INTERNAL_API
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
6
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
7 #include <gtk/gtk.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
8 #include <gtkmozembed.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
9 #include <gtkmozembed_internal.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
10 #include "nsIDOMMouseEvent.h"
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
11
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
12 /**
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
13 * Takes a pointer to a mouse event and returns the mouse
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
14 * button number or -1 on error.
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
15 */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
16 extern "C" gint mozilla_get_mouse_event_button(gpointer event)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
17 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
18 gint button = 0;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
19 glong x,y;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
20
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
21 g_return_val_if_fail (event, -1);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
22
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
23 /* the following lines were found in the Galeon source */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
24 nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
25 aMouseEvent->GetButton ((PRUint16 *) &button);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
26 aMouseEvent->GetClientX ((PRInt32 *) &x);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
27 aMouseEvent->GetClientY ((PRInt32 *) &y);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
28
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
29
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
30 /* for some reason we get different numbers on PPC, this fixes
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
31 * that up... -- MattA */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
32 if (button == 65536)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
33 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
34 button = 1;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
35 }
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
36 else if (button == 131072)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
37 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
38 button = 2;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
39 }
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
40
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
41 return button;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
42 }
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
43 extern "C" gint mozilla_get_mouse_location( gpointer event, glong *x, glong *y)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
44 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
45 g_return_val_if_fail (event, -1);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
46
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
47 /* the following lines were found in the Galeon source */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
48 nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
49 aMouseEvent->GetClientX ((PRInt32 *) x);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
50 aMouseEvent->GetClientY ((PRInt32 *) y);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
51 return 0;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
52 }