Mercurial > dwindows
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 |
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 } |