annotate gtk/browser.cpp @ 1634:c3e08322b8f6

Fixed issues drawing arcs on GTK3 and GTK2 for printing. This issue was seen in the test program with the failure to draw the bottom right arc. GTK2 printing may require some other updates after looking at this change.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 29 Mar 2012 05:16:26 +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 }